-1

为什么这个带有正则表达式的表达式测试器返回“成功匹配”?\d+(?:-\d+)*"123-234-24-f"

4

1 回答 1

1

正则表达式将匹配字符串的初始“123-234-24”。*表示 0 个或多个匹配项,在这种情况下,匹配两次。

要确保整个字符串与正则表达式匹配,请添加“^”和“$”锚。因此^\d+(?:-\d+)*$将与您的字符串不匹配。

^表示匹配必须从字符串的开头开始,并且表示$匹配必须在字符串的末尾结束(或者在多行模式下在一行的开头和结尾,尽管我没有设法输入新行在您链接到的测试仪中)。

于 2013-09-12T09:20:06.207 回答