【发布时间】:2015-02-02 10:05:09
【问题描述】:
这似乎已经被问过很多次了,但我找不到任何可以解决我的具体要求的答案。
输入字符串如下:
1. The road is closed.
2. Closed road ahead.
3. There is a closed lane.
4. The lane is closed.
只有当单词lane 不是输入字符串的一部分时,什么正则表达式才匹配单词closed?这应该尽可能笼统
-
lane一词可以存在于closed一词之前或之后, - 任何数量和类型的词都可以位于
lane和closed之间,而不仅仅是上面示例中使用的a或is。
我希望在输入字符串 1 和 2 中匹配 closed,但在 3 和 4 中不匹配(因为它们中的任何一个都包含禁止词 lane)。
我尝试使用负前瞻和后瞻来执行此操作,但这仍然与所有四个输入字符串中出现的 closed 匹配。
(?<!lane)(?!lane)(closed)
正则表达式风格是 Python 3.4。
【问题讨论】:
-
要测试您的正则表达式,请尝试 pythex.org 或 pythonregex.com
标签: python regex regex-lookarounds