gpt4 book ai didi

regex - 为什么 Text.Regex.Posix =~ 用\d 匹配字符?

转载 作者:行者123 更新时间:2023-12-04 23:16:19 28 4
gpt4 key购买 nike

有人可以解释一下 ghci 中的这种交互是如何可能的吗?

*Main Text.Regex.Posix> "d1" =~ "\\d" :: String
"d"
*Main Text.Regex.Posix> "d1" =~ "\\d" :: Int
1

我以为 \d代表数字,所以我不明白它如何匹配字符 d而不是字符 1出现在字符串上。

注意:使用 ghci 7.10.3

最佳答案

Text.Regex.Posix module仅支持 c posix regex api。 POSIX 正则表达式语法未定义 \d作为数字的速记字符类,它具有 [:digit:]必须在方括号表达式中使用的 POSIX 字符类,例如[[:digit:]] .但是,使用 [0-9] 更简单、更短。匹配常规的 ASCII 数字。

使用 \d在您的模式中,您可能需要使用 Text.Regex.PCRE .

关于regex - 为什么 Text.Regex.Posix =~ 用\d 匹配字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40961756/

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