正则表达式匹配可能具有特殊字符的单词

时间:2016-02-16 05:47:42

标签: c# regex

我希望使用C#.net中的正则表达式匹配字符串中的整个单词 可能是我的模式有特殊性质。

我的模式:one: for(....){ two: for(....){ break one; // it will break iteration of first for loop } }

我的输入:

\b(blessed')\b

它与任何东西都不匹配。

如果我将模式编辑为:Blessed' be Thou for all the joy Blessed be Thou for all the joy

它匹配我的字符串所具有的2个单词,但我想匹配具有\b(blessed)\b

的单词

在线演示:https://regex101.com/r/oI3nB5/1#pcrehttp://regexr.com/3cq7q

1 个答案:

答案 0 :(得分:2)

\b是单词字符和非单词字符之间的边界。 "'"(撇号)和" "(空格)都是非单词字符,因此\b在它们之间不匹配。使用否定的外观:

(?<![a-zA-Z'])([a-zA-Z']+)(?![a-zA-Z'])

&#34;之前没有字母或撇号,然后是任意数量的字母或撇号,然后在&#34; ...之后没有字母或撇号...或者如果你想要的话文字Blessed'

(?<![a-zA-Z'])(Blessed')(?![a-zA-Z'])