为什么字符串\d+(?:-\d+)*
上的正则表达式"123-234-24-f"
的{{3}}返回“成功匹配”?
答案 0 :(得分:1)
正则表达式将匹配字符串的初始“123-234-24”。 *
表示0或更多匹配,在这种情况下匹配两次。
要确保整个字符串与正则表达式匹配,请添加“^”和“$”锚点。因此^\d+(?:-\d+)*$
与您的字符串不匹配。
^
表示匹配必须从字符串的开头开始,而$
表示匹配必须在字符串的结尾处(或在行的开头和结尾)结束在多线模式下,虽然我没有设法在您链接到的测试仪中输入新行。