【问题标题】:Need help for Haskell regular expression需要有关 Haskell 正则表达式的帮助
【发布时间】:2018-09-26 16:57:07
【问题描述】:

给定一些字符串:"\begin""\end""\section" 等。

我想用下面的函数和正则表达式来匹配它们:

matchTest (mkRegex '\\[:alnum:]+')  "\begin"

我在 GHCi 中测试时总是得到 False,

有谁知道如何匹配"\begin""\end" 等模式。

【问题讨论】:

    标签: regex haskell


    【解决方案1】:
    > matchTest (mkRegex "\\\\[a-zA-Z0-9]+") "\\begin"
    True
    

    您的代码行存在几个问题。

    • 正则表达式没有正确引用,字符串需要在双引号内。 (但你应该会得到一个语法错误。)
    • regex-compat 支持的正则表达式(我假设是你使用的那个包)和egrep 支持的一样,他们不知道:alnum:
    • 反斜杠 \ 在 Haskell 字符串和正则表达式中都是转义字符,因此您需要对其进行转义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 2023-01-23
      • 2021-08-29
      相关资源
      最近更新 更多