擅长:python、mysql、java
<p>用邮政编码PA23 6NH,PA2 6NH和PA2Q 6NH重复您的地址3次作为您的模式测试,并使用来自wikipedia的regex对您的代码进行测试。。</p>
<pre><code>import re
s="123 Some Road Name\nTown, City\nCounty\nPA23 6NH\n123 Some Road Name\nTown, City"\
"County\nPA2 6NH\n123 Some Road Name\nTown, City\nCounty\nPA2Q 6NH"
#custom
print re.findall(r'\b[A-Z]{1,2}[0-9][A-Z0-9]? [0-9][ABD-HJLNP-UW-Z]{2}\b', s)
#regex from #http://en.wikipedia.orgwikiUK_postcodes#Validation
print re.findall(r'[A-Z]{1,2}[0-9R][0-9A-Z]? [0-9][A-Z]{2}', s)
</code></pre>
<p>结果是</p>
<pre><code>['PA23 6NH', 'PA2 6NH', 'PA2Q 6NH']
['PA23 6NH', 'PA2 6NH', 'PA2Q 6NH']
</code></pre>
<p>两个正则表达式都给出相同的结果。</p>