Regex.Replace来完成单词

时间:2012-01-18 13:14:01

标签: c# asp.net regex

  

可能重复:
  Regex to match words
  Way to have String.Replace only hit “whole words”

我需要在带有完整单词的文本上做一个简单的regex.replace()。

实施例: 模式找:“吻” 单词替换:“metallica”

文字1: Kiss是摇滚乐队。 Metallica是摇滚乐队。 (OK)

文字2: 那男孩吻了那个女孩。 那个男孩把那个女孩弄得很金刚。 (ERROR)

我需要找到完全相同的单词,可能会在单词前后验证空白区域......我不知道:(

我认为这很容易,但我找不到解决方案。

感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

使用单词boundary escape \b

@"\bkiss\b"

RegularExpressions.Info reference

确保使用忽略大小写选项。

答案 1 :(得分:0)

使用单词边界\b

@"\bKiss\b"

只匹配单词“Kiss”而不是“kissed”

\b匹配从单词字符到非单词字符的更改。

\w包含单词字符,表示所有字母,数字和_

示例:

将匹配:

  

Kiss,Kiss123,Kiss Kiss。 Kiss @ Kiss _

不匹配(如果使用忽略大小写):

  

吻了吻

答案 2 :(得分:0)

使用此正则表达式:

(?i)\bkiss\b

带有单词边界和忽略大小写选项。

答案 3 :(得分:0)

啊,我想我明白你的意思。我的正则表达很糟糕,但请忍受我...

(test)*

test是要替换的单词?

匹配测试,暴躁,睾丸等