我希望使用以下正则表达式匹配邮政编码:
(GIR ?0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]([0-9ABEHMNPRV-Y])?)|[0-9][A-HJKPS-UW]) ?[0-9][ABD-HJLNP-UW-Z]{2})
我正在尝试解析HTML文档中的地址,因此我只想匹配以邮政编码开头的节点或包含以空格或逗号开头的邮政编码。否则会有太多误报,例如匹配颜色(以#开头)。
我需要修改正则表达式,以找到没有前面字符的邮政编码,或者在它之前的空格或逗号以及之前的任意数量的字符。我怎么能这样做?
例如,我想匹配:
IP14 2PL
1 The street, ipswich, IP14 2PL
1 The street, ipswich,IP14 2PL
但不是
https://t.co/ip142plzruc
答案 0 :(得分:6)
只需在表达式前添加:
(?:^|[, ])
强制要求之前有空格或逗号或开始一行。