从字符串中查找邮政编码

2024-10-06 10:30:45 发布

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

我有一根绳子

x = '''
Anrede:*



Herr
*Name:*

Tobias
*Firma:*

*Strasse/Nr:*

feringerweg
*PLZ/Ort:*

72531
*Mail:*
tovoe@gmeex.de [1]





'''

因为有一个邮政编码,这是邮政编码,我想从整个字符串中找到邮政编码,所以可能的方法是使用regex,但不知道regex


Tags: namemailnrregex邮政编码plz绳子ort
3条回答

我假设Postleitzahl总是遵循两条线,看起来像*PLZ/Ort:*
,它是行中唯一的文本。如果是这样的话,那么您可以使用以下内容:

import re
m = re.search('^\*PLZ/Ort:\*\n
\n(\d{5})', x, re.M)
if m:
    print m.group(1)

假设示例中的输入是包含多个字符串的文件,您可以尝试以下操作:

import re

for line in open(filename, 'r'):
    matchPattern = "^(\d{5})$"
    match = re.match(matchPattern, line, flags=0)
    print match.group(0) #the whole match

如果这只是一个长字符串,则可以使用相同的匹配模式,但不使用^(行开始)和$(行结束)指示符>;(\d{5})

你可以试试这个正则表达式:

(?<=PLZ\/Ort)[\s\S]+?([a-zA-Z0-9\- ]{3,9})

它还支持字母数字邮政编码。您可以从here中看到邮政编码长度/格式。你知道吗

相关问题 更多 >