我需要编写一个正则表达式,它将匹配字符串中的所有内容,除非字符串中有特定的单词。以此字符串为例:
http://12.34.567.890/sqlbuddy匹配所有内容的表达式是:
^.*$需要对...Which进行修改,以便如果字符串包含单词"sqlbuddy“,则将与完全不匹配。我以为消极的展望会起作用,但这对我不起作用。
例如,我尝试过这样做,但不起作用:
^(?!sqlbuddy).*$我该怎么修改这个?
发布于 2011-08-02 21:37:02
该示例不起作用,因为它假定sqlbuddy位于字符串的开头。您需要将其更改为以下内容,以便sqlbuddy可以在字符串中的任何位置显示:
^(?!.*sqlbuddy.*).*$ 但是,如果您真的只想检查您的字符串是否包含给定的单词,那么也许"http://12.34.567.890/sqlbuddy".contains("sqlbuddy")就足够了。
发布于 2011-08-02 21:35:43
同样,这也适用于我:字符串'sqlbuddy‘的位置并不重要。
^((?!sqlbuddy).)*$
发布于 2015-05-01 20:05:08
...also (针对其他人),如果只想在长字符串的特定位置搜索(包含多个匹配的长文本),可以使用:
first_part_of_string(?!.*sqlbuddy.*)second_part_of_string或者,更宽容的:
first_part_of_string.*(?!.*sqlbuddy.*).*second_part_of_stringhttps://stackoverflow.com/questions/6918889
复制相似问题