近似正则表达式错误计数行为

2024-10-03 09:18:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用regex package来处理Python中的近似正则表达式。我不理解在匹配中计算错误时看到的行为

如果我使用以下允许错误的正则表达式:

>>> rex = '(HOUSE OF REPRESENTATIVES){e}'

我得到的正是我期望的行为,一个匹配被发现有20个错误。这20个错误是由20个小写字母造成的:

>>> regex.match(rex, 'House of Representatives')

<regex.Match object; span=(0, 24), match='House of Representatives', fuzzy_counts=(20, 0, 0)>

当我试图以更复杂的方式做类似的事情时,我得到的结果对我来说毫无意义

我试图匹配如下字符串:“HOUSE OF REPRESENTATIVES\nWEDNESDAY,JANUARY 23,1939\n”

>>> rex = '(HOUSE OF REPRESENTATIVES\n[A-Z]{3,6}DAY, [A-Z]{3,11} [0-9]{1,2}, [0-9]{4}\n){e}'

当我试图使用这个,我得到一个错误号码,我无法理解

>>> h1 = 'HOUSE OF REPRESENTATIVES\nWEDNESDAY, JANUARY 4, 1939\n'
>>> regex.match(rex, h1)
<regex.Match object; span=(0, 52), match='HOUSE OF REPRESENTATIVES\nWEDNESDAY, JANUARY 4, 1939\n', fuzzy_counts=(7, 0, 2)>

我得到一个匹配9模糊错误当我期望0。什么给

注意:当我使用BESTMATCH标志时,我得到8个错误


Tags: ofobjectmatch错误regexhouserexspan