带正则表达式的模糊匹配

时间:2018-12-12 13:35:58

标签: python regex

到目前为止,这是我的代码:

.overlay

在上面的代码中,我试图在文本文件中获取匹配的地址。我想获得房屋号的确切匹配,而剩余匹配为80%。但是,上面的代码没有给我任何输出,也没有任何错误。

以下是我的地址示例:

for element in address1:
    z = re.match("^\d+$", element)

    if z:
        get_best_fuzzy("1 DEEPALI", address1)

请解释一下,因为我是新手。

1 个答案:

答案 0 :(得分:0)

^:在一行的开头声明位置

\d:匹配一个数字

+:匹配一次到无限次

$:在行尾声明位置

因此,您的正则表达式字符串^\d+$仅与1100等完全匹配,后面没有其他字符。

要获得门牌号的完全匹配,请尝试使用^\d+

>>> import re
>>> element = "1 DEEPALI"
>>> z = re.match('^\d+', element)
>>> z
<_sre.SRE_Match object; span=(0, 1), match='1'>
>>> z.group(0)
'1'
>>> if z:
...     print('A match is found!')
... 
A match is found!

您可以使用以下在线正则表达式生成器来测试正则表达式:https://regex101.com/

我不确定您的函数get_best_fuzzy的作用。该错误可能是从那里引起的。