【发布时间】:2016-11-03 02:32:11
【问题描述】:
我正在尝试为地址创建一个正则表达式。
我目前有[a-zA-Z0-9-\\.\-\,\\-\s\n],但它匹配重复句点、重复连字符和重复逗号。有什么办法可以将逗号、连字符和句点的数量限制为 1?
它应该匹配"5432 Lorem St. Tokyo, Japan 1234-54"
它不应该匹配"5323 Dolor Ave... Kyoto,,,, Japan 555-33----33"
【问题讨论】:
-
或许
^[a-zA-Z0-9\s]+(?:[.,-][a-zA-Z0-9\s]+)*$ -
您使用的是哪种语言或正则表达式引擎?
-
@cxw 我正在为 javascript 创建一个
-
那么,试试
/^[a-zA-Z0-9\s]+(?:[.,-][a-zA-Z0-9\s]+)*$/.test(str) -
试试
/^(?!.*([.,-])\1)[a-zA-Z0-9\s.,-]+$/.test(str)
标签: javascript regex regex-negation