1

住所文字列からアルバータ州 (カナダ) 地域の郵便番号を抽出したいと考えています。

例えば:

 addr = '12345-67 Ave, Edmonton, AB T1A 2B3, Canada'

抽出する必要がありT1A 2B3ます。

郵便番号に一致する正規表現は[T]\d[A-Z] *\d[A-Z]\d. ただし、住所全体が指定されている場合、郵便番号のみを抽出するにはどうすればよいかわかりません。後方参照で何かをしなければならないと思います()が、理解できません。

Pythonでこれを達成するにはどうすればよいですか?

4

2 に答える 2

4

正規表現に一致した部分文字列だけを抽出するのは簡単です:

test = re.compile(r'[T]\d[A-Z] *\d[A-Z]\d')
addr = '12345-67 Ave, Edmonton, AB T1A 2B3, Canada'
test.search(addr).group()

test.search抽出できるあらゆる種類のものを含む一致オブジェクトを返します。

于 2013-05-08T21:30:53.220 に答える