gpt4 book ai didi

string - 与字符串的复杂模式匹配

转载 作者:行者123 更新时间:2023-12-02 06:40:12 25 4
gpt4 key购买 nike

我有一个如下所示的字符串列表:

xs = ["xabbaua", "bbbaacv", "ggfeehhaa", "uyyttaccaa", "ibbatb"]

我只想在列表中查找具有 和 vocel 后跟两个 b 后跟任何字符后跟元音的字符串。像这样的简单匹配在 Haskell 中是如何完成的?有没有比正则表达式更好的解决方案?谁能帮我举个例子吗?谢谢。

最佳答案

您可以将经典过滤器函数与任何正则表达式库结合使用。您的模式非常简单,可以与任何正则表达式库一起使用:

filter (=~ "bb.[aeiuy]") xs

Haskell 中正则表达式的令人困惑的部分是,有一个非常强大的通用 API(在正则表达式基础中),可以以相同的方式将它们用于所有特定库以及您可能希望的多种结果类型(Bool、String) ,国际...)。对于基本用法,它应该主要按照您的意思工作(tm)。对于您的特定需求,regex-posix 应该足够了(并且随 haskell 平台一起提供,因此无需正常安装)。所以不要忘记导入它:

import Text.Regex.Posix

这个tutorial如果您有其他需求,应该向您展示 regex API 的基础知识,它现在有点过时了,但基本原理保持不变,只是 regex-base 的细节发生了变化。

关于string - 与字符串的复杂模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com