2011-11-25 105 views
1

是否有正则表达式匹配所有字符和符号的方法,但不包括特定单词或字母字符的特定组合?如何匹配除一个单词之外的任何文本

实施例:

Hello world! 

Hello是文字和world可以是不同的像Hello Tom!Hello Claudio!

但如果在单词worldTom或其它正则表达式引擎遇到例如or或另一符号的组合然后词世界将不匹配。

有了这个:

Hello (.*?)! 

发动机将匹配所有字符...

回答

7

你可以用lookahead expressions做到这一点:

Hello ((?:(?!or).)*?)! 

Hello,在结束后的任意字符串匹配一个!并且不包含or

Hello Tom!   // Match 
Hello =)(/§ )$(/! // Match 
Hello Sailor!  // No match 

如果您只想排除整个(字母)的话,你可以使用word boundaries

Hello ((?:(?!\bor\b).)*?)! 

结果:

Hello Sailor!  // Match 
Hello Tom or Jerry! // No match 
+0

我想排除这两种情况。一个字或只有一个组合 –

+0

我不明白你的意思。请编辑你的问题,并显示一些明确的例子,定义你的问题。 –

+0

给出的例子不适用于gskinner.com/RegExr/ – simpatico

相关问题