正则表达集中的单词边界或数字

时间:2015-01-22 10:14:27

标签: regex

我正在扫描一些可能采用以下格式的美国地址数据:

VA55452
VA 55452
55452VA
55452 VA

我有一个正则表达式来寻找这个,这是:

(?:[\b\d]VA[\b\d])

但这根本不会返回任何匹配项:

(?:\bVA\b)

...将返回记录2和4的匹配,但不返回1和3.为什么我的第一个正则表达式不起作用?我的眼睛看起来语法正确。

由于

2 个答案:

答案 0 :(得分:1)

这个正则表达式可以工作:

(?:\b|\d)VA(?:\b|\d)

您不能在字符类中将\b用作字边界作为内部字符类,它将被视为文字文本。

RegEx Demo

答案 1 :(得分:1)

Don#39;将\b放入角色类。 \b将失去在字符类中匹配单词边界的特殊含义。

(?:\b|\d)VA(?:\b|\d)
相关问题