正则表达式以匹配字符串、空格或逗号的开头

本文关键字:开头 空格 字符串 正则表达式 | 更新日期: 2023-09-27 18:32:50

我希望使用以下正则表达式匹配邮政编码:

(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

正则表达式以匹配字符串、空格或逗号的开头

只需在

表达式前面添加以下内容:

(?:^|[, ])

它将强制要求在行之前或开始一行之前有一个空格或逗号。