【问题标题】:Problem with regex fuzzy search with positive lookahead (AND) and {e=<3}正则前瞻 (AND) 和 {e=<3} 的正则表达式模糊搜索问题
【发布时间】:2021-01-15 18:03:33
【问题描述】:

我遇到了 Python 正则表达式模糊搜索的问题。

这是有效的:

import regex
s = '2991  Nixon Avenue Chattanooga Tennessee'
regex.search(r"(?msi)(?=.*\bnixon\b)(?=.*\bchattanooga\b)",s)

这不起作用(从Chattanooga 中删除了t):结果None

import regex
s = '2991  Nixon Avenue Chatanooga Tennessee'
regex.search(r"(?msie)(?=.*\bnixon\b)(?=.*\bchattanooga\b){e=<3}",s)

我在这里做错了什么?
看起来它是带有积极前瞻和边界一词的东西。

注意:这只是一个让它工作的简单示例。我的现实是更复杂工作的一部分。

除此之外,我是否需要指定每个正则表达式项目的模糊性(nixonchattanooga),或者是否可以同时为这两个项目指定模糊度,例如((?=.*\bnixon)(?=.*\bchattanooga\b)){e=&lt;3}

【问题讨论】:

    标签: python-3.x regex fuzzy-search positive-lookahead


    【解决方案1】:

    我将模糊性应用到前瞻本身而不是它的 内容。

    如果模糊的是“查塔努加”,请执行以下操作:

    regex.search(r"(?msie)(?=.*\bnixon\b)(?=.*\b(?:chattanooga){e<=3}\b)",s)
    

    【讨论】:

      猜你喜欢
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多