我正在尝试用一些正则表达式来匹配每个数字组的1个连字符。没有字符([a-z] [A-Z])。
123-356-129811231235123-1235612346123451235
/[^\d-]/g
上面的一个将匹配下面的字符串,但它将让以下内容通过:
1223--1235 --- ------- 123123
我正在查看以下帖子How to match hyphens with Regular Expression?以获得答案,但我找不到任何结果。
@Konrad Rudolph给出了一个很好的例子。
Regular expression to match 7-12 digits; may contain space or hyphen
非常有用答案 0 :(得分:3)
假设它不能以连字符开头:
^\d(-\d|\d)*$
细分:
^ # match beginning of line
\d # match single digit
(-\d|\d)+ # match hyphen & digit or just a digit (0 or more times)
$ # match end of line
这使得每个连字符都有紧跟其后的数字。但请记住,以下是法律模式的例子:
213-123-12314-234234
1-2-3-4-5-6-7
12234234234
答案 1 :(得分:1)
可替换地:
^(\d+-)+(\d+)$
因此,它是一个或多个数字组,后跟连字符+最后一组数字。 没有什么特别的,但在我的测试中,只有当两边都有数字连字符时才会匹配。