0

我对 Python 正则表达式模糊搜索有疑问。

这是有效的:

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

这不起作用(t从中删除Chattanooga):结果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=<3}

4

1 回答 1

0

我将模糊性应用于前瞻本身而不是其内容。

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

regex.search(r"(?msie)(?=.*\bnixon\b)(?=.*\b(?:chattanooga){e<=3}\b)",s)
于 2020-10-02T05:14:40.907 回答