我正在回答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®ex=%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/