使用正则表达式匹配精确的数字和单词数 - Python27

Uma*_*air 3 python regex python-2.7

我有这个字符串。

P O BOX 32370, CA 92263
Run Code Online (Sandbox Code Playgroud)

还有这个正则表达式\w{2} \d{5}

但它与粗体的两个文本都匹配。“POB OX 32370CA 92263

实际上我想提取州和邮政编码。

我想抓取文本开头和一个空格,然后是精确的 2 个字母,然后是一个空格,然后是精确的 5 个数字。

Psi*_*dom 7

您可以添加单词边界\b以确保模式没有前导或尾随单词字符(字母数字和下划线):

import re

re.findall(r"\b\w{2} \d{5}\b", "P O BOX 32370, CA 92263")
#['CA 92263']
Run Code Online (Sandbox Code Playgroud)