正则表达式 - 匹配整个字符串除非

All*_*len 8 regex

我需要编写一个正则表达式,它将匹配字符串中的所有内容,除非它中包含某个单词.以此字符串为例:

http://12.34.567.890/sqlbuddy
Run Code Online (Sandbox Code Playgroud)

匹配所有内容的表达式是:

^.*$
Run Code Online (Sandbox Code Playgroud)

... 如果它包含单词"sqlbuddy" ,则需要对其进行修改以使其与字符串完全匹配.我认为负面的前瞻会做到这一点,但那对我不起作用.

例如,我试过这个,这不起作用:

^(?!sqlbuddy).*$
Run Code Online (Sandbox Code Playgroud)

我该怎么修改呢?

Joã*_*lva 5

该示例不起作用,因为它假定sqlbuddy在字符串的开头.您需要将其更改为以下内容,以便sqlbuddy可以出现在字符串中的任何位置:

^(?!.*sqlbuddy.*).*$ 
Run Code Online (Sandbox Code Playgroud)

但是,如果你真的只想检查你的字符串是否包含给定的单词,那么也许"http://12.34.567.890/sqlbuddy".contains("sqlbuddy")就足够了.