【发布时间】:2018-09-26 16:57:07
【问题描述】:
给定一些字符串:"\begin"、"\end" 或 "\section" 等。
我想用下面的函数和正则表达式来匹配它们:
matchTest (mkRegex '\\[:alnum:]+') "\begin"
我在 GHCi 中测试时总是得到 False,
有谁知道如何匹配"\begin" 或"\end" 等模式。
【问题讨论】:
给定一些字符串:"\begin"、"\end" 或 "\section" 等。
我想用下面的函数和正则表达式来匹配它们:
matchTest (mkRegex '\\[:alnum:]+') "\begin"
我在 GHCi 中测试时总是得到 False,
有谁知道如何匹配"\begin" 或"\end" 等模式。
【问题讨论】:
> matchTest (mkRegex "\\\\[a-zA-Z0-9]+") "\\begin"
True
您的代码行存在几个问题。
regex-compat 支持的正则表达式(我假设是你使用的那个包)和egrep 支持的一样,他们不知道:alnum:。\ 在 Haskell 字符串和正则表达式中都是转义字符,因此您需要对其进行转义。【讨论】: