-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

これが単なる長い文字列の場合、同じ一致パターンを使用できますが、^(行の開始) および$(行の終了) インジケーターは使用できません -->(\d{5})

于 2013-08-29T06:49:38.030 に答える
1

Postleitzahl は常に と のような 2 つの行をたどって*PLZ/Ort:*おり 
、その行の唯一のテキストであると想定しています。その場合は、次のようなものを使用できます。

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 に答える