1
我回答了一个question about regexes,当时我注意到一些奇怪的东西。我正在测试RegexPal中的正则表达式,并且我得到了Chrome和Firefox告诉我的不同结果。RegexPal与浏览器不同
有问题的正则表达式是:/^\d*(\.\d{1,2}$)?/
。
在Firefox和Chrome中:/^\d*(\.\d{1,2}$)?/.test('-1')
返回true
,但RegexPal表示它不匹配。
http://regexpal.com/?flags=m®ex=%5E%5Cd%2A(%5C.%5Cd%7B1%2C2%7D%24)%3F&input=-1
我的猜测是,它有事情做的事实,正则表达式什么都没有,我的意思是空字符串相匹配。
正则表达式匹配字符串的开头,然后是0数字,然后是0的组,因此它会匹配-1
,因为它适合模具,但“匹配”将是“没有”(空字符串)。
RegexPal为什么说它不匹配,但我的网页浏览器说它呢?
该正则表达式应该与字面上的任何内容相匹配(您正在使'\ d'为可选,并且整个组也是可选的)。它看起来像RegexPal中的一个bug。 – NullUserException
等一下。我只是想到了一些事情。正则表达式“高亮”匹配。所以,它试图突出匹配。这是一个空字符串,所以你看不到它。我知道X_X –
出于好奇,有没有像假小马发电机或什么的?还是你自己画了那个化身? – NullUserException