javascript - RegexPal 与浏览器不同

标签 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 说不匹配,但我的网络浏览器却说匹配?

最佳答案

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

好吧,由于空字符串是空的,所以你看不到它突出显示它。

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

相关文章:

javascript - 使用 Semantic-UI 的最低 JQuery 版本是多少

javascript - 使用 vanilla javascript 获取 JSON API 响应

javascript - 转换到路由时 URL 中的 "undefined"

regex - 使用正则表达式进行密码查询

Java 正则表达式匹配器显示意外结果

javascript - Autoprefixer 在 Gulpfile.js 中不起作用

javascript - iOS: "Added to home screen"网站不会刷新

regex - RewriteEngine On .htaccess 不工作

Python连续多次匹配正则表达式(不是findall方式)

r - 提取 ( ) 和 % 符号之前的所有值