正则表达式测试程序:意外结果

时间:2013-09-12 09:13:10

标签: regex

为什么字符串\d+(?:-\d+)*上的正则表达式"123-234-24-f"的{​​{3}}返回“成功匹配”?

1 个答案:

答案 0 :(得分:1)

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

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

^表示匹配必须从字符串的开头开始,而$表示匹配必须在字符串的结尾处(或在行的开头和结尾)结束在多线模式下,虽然我没有设法在您链接到的测试仪中输入新行。