匹配除一个以外的所有单词

pok*_*ate 21 regex

说我有一句话:

我也是个好买的坏男孩

如何使用正则表达式在这句话中选择除男孩之外的每个单词?

Jer*_*amp 44

你可以使用负面看后面:

\w+\b(?<!\bboy)
Run Code Online (Sandbox Code Playgroud)

或者负面展望,因为并非所有支持负面看起来都在后面

(?!boy\b)\b\w+
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读有关负面展望的内容


cle*_*tus 12

尝试:

\b(?!boy\b).*?\b
Run Code Online (Sandbox Code Playgroud)

意思是:

  • 零宽度字断(\b)
  • 那不是"男孩"和另一个单词突破;
  • 其次是非贪婪的任何人物;
  • 直到另一个单词休息.

注意:单词break符合字符串的开头,字符串的结尾以及从单词(数字,字母或下划线)到非单词字符的任何转换,反之亦然.