我现在使用 Text.Regex 包。
我尝试将subRegex用于单词边界,
let r = mkRegex "\\bdog\\b"
subRegex r "mydog dog" "(\\0)"
输出=>“ mydog狗”
我还尝试以下操作:
let r = mkRegex "\\b(dog)\\b"
subRegex r "mydog dog" "(\\0)"
输出=>“ mydog狗”
我尝试更改“ mydog dog” =>“ mydog(dog)”
答案 0 :(得分:1)
Text.Regex
包中的 regex-compat
使用的是POSIX兼容的正则表达式,而不是PCRE表达式。
在POSIX正则表达式中,左侧单词边界为\<
,右侧单词边界为\>
:
ghci> let r = mkRegex "\\<dog\\>"
ghci> subRegex r "mydog dog" "(\\0)"
"mydog (dog)"