句子的C#正则表达式,可以包含在任何非字母字符中

时间:2013-09-29 07:46:42

标签: c# regex full-text-search

我需要一般性的指导来搜索任何非字母字符之前和之后的文本中的句子或单个单词。 我将举几个例子来说明我的需求:

寻找“祝你好运”:

good luck in the exam.. (should match the pattern)
hello! good luck in the exam..  (should match)
mm,good luck! ..  (should match)
hello again i wish yougood luckin the exam. (**should Not match**)

我的意思是正则表达式应该与不包含字母字符的句子匹配。

1 个答案:

答案 0 :(得分:1)

String regex=@"\b"+input+@"\b";

\b是一个非单词边界。简而言之,它会让你匹配单个单词,即一个不是另一个单词的一部分的单词


注意您应该转义输入,因为如果您的输入包含*?等字符,则会将其视为正则表达式中的特殊字符。所以,它应该是

String regex=@"\b"+Regex.Escape(input)+@"\b";