我正在尝试使用类似于下面的地址的正则表达式模式,但我不能让测试方法返回true,我在这里做错了什么?
let reg=/[0-9]{3}\b[a-z]{1}\b\d{2}[a-z]{2}\b[a-z]{2}\b[a-z}{6}\b[a-z]{10}\b[0-9]{5}/;
let fakeAddress="925 s 10th st tacoma washington 98405";
reg.test(fakeAddress);
答案 0 :(得分:1)
字母和数字之间以及数字和字母之间没有word boundaries,您希望匹配它们之间的空格。请记住,\b
,一个字边界,是一个零宽度断言,不消耗任何字符。因此,您需要将所有\b
替换为\s+
(1个或多个空白字符)。此外,[a-z}
是一个错字。它应该是[a-z]
。
使用
/\d{3}\s+[a-z]\s+\d{2}[a-z]{2}\s+[a-z]{2}\s+[a-z]{6}\s+[a-z]{10}\s+[0-9]{5}/
请参阅regex demo