我有一篇写得很好的文章:
11 bla gulp bla 22
11 bla bla bla 2211 bla
ble
bli 22我需要一个正则表达式来查找 all --夫妻"11“和"22”之间的所有文本,但是不包含"gulp“。
如果使用(?s)11.*?22搜索TextCrawler,就会发现所有三个字符串:
bla gulp bla
bla bla bla
bla ble bli不对!我只想获得:
bla bla bla
bla ble bli因为"bla gulp bla“包含"gulp",我不想要它!
有什么想法吗?:-)
发布于 2012-08-10 19:40:51
使用否定的前瞻性断言:
11(?!.*?gulp.*?)(.*?)22在中间(围绕gulp),单词边界可能是个好主意,因为它允许区分gulp和gulping、gulped或ungulp(?):
11(?!.*?\bgulp\b.*?)(.*?)22但把它们放在周围:
\b11\b(?!.*?\bgulp\b.*?)(.*?)\b22\b会排除你另外两个结果-而不是你想要的。
https://stackoverflow.com/questions/11904610
复制相似问题