首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex -匹配整个字符串,除非

Regex -匹配整个字符串,除非
EN

Stack Overflow用户
提问于 2011-08-02 21:29:37
回答 3查看 9.5K关注 0票数 9

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

代码语言:javascript
复制
http://12.34.567.890/sqlbuddy

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

代码语言:javascript
复制
^.*$

需要对...Which进行修改,以便如果字符串包含单词"sqlbuddy“,则将与完全不匹配。我以为消极的展望会起作用,但这对我不起作用。

例如,我尝试过这样做,但不起作用:

代码语言:javascript
复制
^(?!sqlbuddy).*$

我该怎么修改这个?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-02 21:37:02

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

代码语言:javascript
复制
^(?!.*sqlbuddy.*).*$ 

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

票数 6
EN

Stack Overflow用户

发布于 2011-08-02 21:35:43

同样,这也适用于我:字符串'sqlbuddy‘的位置并不重要。

^((?!sqlbuddy).)*$

票数 3
EN

Stack Overflow用户

发布于 2015-05-01 20:05:08

...also (针对其他人),如果只想在长字符串的特定位置搜索(包含多个匹配的长文本),可以使用:

代码语言:javascript
复制
first_part_of_string(?!.*sqlbuddy.*)second_part_of_string

或者,更宽容的:

代码语言:javascript
复制
first_part_of_string.*(?!.*sqlbuddy.*).*second_part_of_string
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6918889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档