正则表达式帮助 - 搜索和替换

时间:2016-05-20 13:41:05

标签: regex

以下是我需要搜索和替换的单词组合:

[Cc]ontestants:
[Cc]ontestants :
[Cc]ontestant:
[Cc]ontestant :

以下是否正确?

'/[Cc]ontestant(:| :|s:|s :)/'

句子(或行)将以单词开头,结尾为:(前后有空格:)后跟句子中的其他单词,或者后面没有单词:。

只需要匹配并用新词替换上面的组合 - 比如说MyWord。

感谢。

3 个答案:

答案 0 :(得分:2)

您可以将其缩小为,

[Cc]ontestants?\s*:

[Cc]ontestants?\h*:
  

句子(或行)将以单词开头,并以:

结束

如果它在开头,则使用线锚^

的开头
^[Cc]ontestants?\h*:

答案 1 :(得分:1)

这有效:

[Cc]ontestants?\s?\:

细分:

  • [Cc] - >匹配' C'或者' c'
  • ontestant - >匹配ontestant'字面
  • s? - >匹配可选的'字面
  • \s? - >匹配可选空格
  • \: - >匹配文字':#39;

例如,请参阅https://regex101.com/r/gA6xS5/1

答案 2 :(得分:1)

如果线路如上所述开始和结束,我建议如下:

^\[Cc\]ontestants?\s?\:$

" $"最后确保"之后没有其他字符:"。即[Cc]ontestant:d不会匹配。