Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 有人知道如何使用Text.Regex作为单词边界吗?_Haskell - Fatal编程技术网

Haskell 有人知道如何使用Text.Regex作为单词边界吗?

Haskell 有人知道如何使用Text.Regex作为单词边界吗?,haskell,Haskell,我现在使用Text.Regex包 我尝试将subsectex用于单词边界 let r = mkRegex "\\bdog\\b" subRegex r "mydog dog" "(\\0)" 输出=>“我的狗” 我也尝试以下几点: let r = mkRegex "\\b(dog)\\b" subRegex r "mydog dog" "(\\0)" 输出=>“我的狗” 我尝试将“mydog dog”=>“mydog(dog)”Text.Regex从Regex compat包更改为使用P

我现在使用Text.Regex

我尝试将subsectex用于单词边界

let r = mkRegex "\\bdog\\b"

subRegex r "mydog dog" "(\\0)"
输出=>“我的狗”

我也尝试以下几点:

let r = mkRegex "\\b(dog)\\b"

subRegex r "mydog dog" "(\\0)"
输出=>“我的狗”


我尝试将“mydog dog”=>“mydog(dog)”

Text.Regex
Regex compat
包更改为使用POSIX兼容的正则表达式,而不是PCRE表达式

在POSIX正则表达式中,左侧单词边界为
\

ghci> let r = mkRegex "\\<dog\\>"
ghci> subRegex r "mydog dog" "(\\0)"
"mydog (dog)"
ghci>let r=mkRegex“\\”
ghci>子区域r“我的狗”(\\0)
“我的狗”

不清楚您想要更改什么以及如何更改。你能更清楚一点吗?你只需要一个正则表达式就可以把一个单词用括号括起来吗?给定字符串“mydog dog”,我想用Subsectex将字符串改为“mydog(dog)”,例如,在我的单词周围加上括号,在这种情况下,单词是“dog”。在正则表达式中,单词是[a-zA-Z]+我想,
Text。正则表达式只实现POSIX正则表达式,不支持单词边界的。尝试Perl兼容的正则表达式。实际上,我使用您的代码,在我的Ghci上输出仍然是“mydog dog”。我如何知道Subsectex是来自regex compat,而不是来自其他包?以下是我机器上的regex。regex-base-0.93.2 regex-compat-0.95.1 regex-posix-0.95.2