当我发现奇怪的内容时,我正在回答question about regexes。我正在RegexPal中测试正则表达式,而与Chrome和Firefox告诉我的结果有所不同。

正则表达式是:/^\d*(\.\d{1,2}$)?/

在Firefox和Chrome中:/^\d*(\.\d{1,2}$)?/.test('-1')返回true,但是RegexPal表示不匹配。


  http://regexpal.com/?flags=m&regex=%5E%5Cd%2A(%5C.%5Cd%7B1%2C2%7D%24)%3F&input=-1


我的猜测是它与正则表达式不匹配的事实有关,我的意思是空字符串。

正则表达式匹配字符串的开头,然后是数字0,然后是组的0,因此它会“匹配” -1,因为它适合那个模子,但是“匹配”将是“无”(空字符串)。

为什么RegexPal说不匹配,但是我的网络浏览器说不匹配?

最佳答案

RegexPal正在运行,但这并不明显。正则表达式匹配空字符串,因此RegexPal会为您突出显示该字符串。

好吧,由于空字符串为空,所以您看不到它是高亮显示的。

关于javascript - RegexPal与浏览器不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13383142/

10-11 12:48