regex - 需要有关 Haskell 正则表达式的帮助
问题描述
给定一些字符串:"\begin"
,"\end"
或"\section"
等。
我想将它们与以下函数和正则表达式匹配:
matchTest (mkRegex '\\[:alnum:]+') "\begin"
当我在 GHCi 中测试它时,我总是得到 False,
有谁知道如何匹配"\begin"
或"\end"
等模式。
解决方案
> matchTest (mkRegex "\\\\[a-zA-Z0-9]+") "\\begin"
True
您的代码行有几个问题。
- 正则表达式未正确引用,字符串需要在双引号内。(但你应该得到一个语法错误。)
- 支持的正则表达式
regex-compat
(我假设你正在使用的包)与支持的相同egrep
,他们不知道:alnum:
。 - 反斜杠
\
是 Haskell 字符串和正则表达式中的转义字符,因此您需要对其进行转义。
推荐阅读
- django - django按参数过滤
- swift - 无法使用 URLSession 的下载数据任务在 Swift 中播放 mp3
- c++ - 地图中的比较器 C++
- javascript - 解构同名对象/键
- javascript - 如何从 themoviedb api 获取多页结果并将状态存储在 React Native 中?
- rust - 如何检测 .connect_pad_added() 模板 = video_%u?
- android - 用户输入和更新后如何从sqlite列中扣除余额?
- composer-php - 由于强制包含文件类型,Composer 存档排除允许排除目录中的文件
- r - R/Power-Query:用匹配替换值
- swift - 尝试将文本添加到集合视图中的标签时收到错误消息