首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >负前瞻性正则表达式python

负前瞻性正则表达式python
EN

Stack Overflow用户
提问于 2018-07-20 05:15:42
回答 2查看 242关注 0票数 2

我有一个字符串列表,如果前面没有"and“,我想匹配一个关键字。但是,如果"and“前面是另一个词,我想包括关键字。考虑到“和”在所有字符串中的位置并不相同。

在下面的示例中,我希望匹配具有"book“一词的字符串,只有在"book”一词不是在“和”和“除非”和“the”前面加上"tall“(我列表中的第一项和第三项)的情况下。我的企图是利用

代码语言:javascript
运行
复制
^((?!((?<!tall)\band\b)).)*book

但这是行不通的。我不确定我是否能在消极的展望中包含一个负面的视角

  1. 是一本又高又宽的书
  2. 是一台电脑和一本说明书
  3. 封面漂亮的书

4.带耳机的电脑

EN

回答 2

Stack Overflow用户

发布于 2018-07-20 05:19:32

我想用正反两种交替的方式来表达这一点:

代码语言:javascript
运行
复制
((?<!\band )|(?<=\btall and ))book

Demo

这里的逻辑是,如果以下两个条件之一为真,则匹配单词book

  • book之前根本没有and这个词。
  • book前面是and,而后者又是tall前面

我没有费心地包含任何Python代码,但从我从您的问题中收集到的信息来看,肉和土豆是在计算正则表达式,而不是Python代码。

票数 0
EN

Stack Overflow用户

发布于 2018-07-23 13:14:36

我发现我的方法并没有完全错。当我取出第一个边界时,它就起作用了。

代码语言:javascript
运行
复制
^((?!((?<!tall) and\b)).)*book

我还不知道为什么它不工作,当我包括那个边界。但很管用。谢谢

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

https://stackoverflow.com/questions/51435505

复制
相关文章

相似问题

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