RegexPal与浏览器不同

时间:2012-11-14 16:38:35

标签: javascript regex

当我注意到一些奇怪的东西时,我正在回答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说它不匹配,但我的网络浏览器说它确实如此?

1 个答案:

答案 0 :(得分:1)

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

好吧,因为空字符串是空的,你无法看到它突出显示它。