-1

我有一个字符串

x = '''
Anrede:*



Herr
*Name:*

Tobias
*Firma:*

*Strasse/Nr:*

feringerweg
*PLZ/Ort:*

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





'''

因为有一个邮编PLZ/Ort:,这是邮编,我想从整个字符串中找到邮编,所以可能的方法是使用正则表达式,但不知道正则表达式,

4

3 回答 3

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

如果这只是一个长字符串,您可以使用相同的匹配模式但不使用^(line begin) 和$(line end) 指示符 -->(\d{5})

于 2013-08-29T06:49:38.030 回答
1

我假设 Postleitzahl 始终遵循看起来像*PLZ/Ort:*and 的两行
,并且它是其行中唯一的文本。如果是这样的话,那么你可以使用类似的东西:

import re
m = re.search('^\*PLZ/Ort:\*\n
\n(\d{5})', x, re.M)
if m:
    print m.group(1)
于 2013-08-29T06:50:30.400 回答
0

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

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

它也将支持字母数字邮政编码。您可以从这里查看邮政编码长度/格式。

于 2013-08-29T07:51:18.757 回答