首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式在中间没有预定义字符串的字符串之间查找文本。

正则表达式在中间没有预定义字符串的字符串之间查找文本。
EN

Stack Overflow用户
提问于 2012-08-10 15:17:10
回答 1查看 1.3K关注 0票数 1

我有一篇写得很好的文章:

代码语言:javascript
复制
11 bla gulp bla 22
11 bla bla bla 2211 bla 
ble
bli 22

我需要一个正则表达式来查找 all --夫妻"11“和"22”之间的所有文本,但是不包含"gulp“。

如果使用(?s)11.*?22搜索TextCrawler,就会发现所有三个字符串:

代码语言:javascript
复制
bla gulp bla
bla bla bla
bla ble bli

不对!我只想获得:

代码语言:javascript
复制
bla bla bla
bla ble bli

因为"bla gulp bla“包含"gulp",我不想要它!

有什么想法吗?:-)

EN

回答 1

Stack Overflow用户

发布于 2012-08-10 19:40:51

使用否定的前瞻性断言:

代码语言:javascript
复制
11(?!.*?gulp.*?)(.*?)22

在中间(围绕gulp),单词边界可能是个好主意,因为它允许区分gulpgulpinggulpedungulp(?):

代码语言:javascript
复制
11(?!.*?\bgulp\b.*?)(.*?)22

但把它们放在周围:

代码语言:javascript
复制
\b11\b(?!.*?\bgulp\b.*?)(.*?)\b22\b

会排除你另外两个结果-而不是你想要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11904610

复制
相关文章

相似问题

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