javascript - 正则表达式不同的结果

标签 javascript regex

为什么正则表达式之间的结果不同

enter image description here

基本上,如果我们查看变量正则表达式,它与控制台中写入的内容相同。但结果不同。

预期结果应该是

new RegExp('^(?!\\s*$)[A-Za-z0-9\\s.,-]*$', 'g').test(' 1');
true

更新

我看到了区别,但是如何在不转义反斜杠的情况下传递正则表达式值

enter image description here

最终... JSON 数据导致 HTML 破坏而不是表达式,我认为 '\' 破坏了 HTML,我添加了 '\' 并修复了 JSON 数据,但在尝试评估值时破坏了结果。

我必须修复 JSON 数据才能解析“\”,现在 REGEXP 恢复正常。

最佳答案

因为new RegExp('\\') !=/\\/,它等于/\/
在正则表达式中将 \\ 替换为 \ 即可使其工作:

/^(?!\s*$)[A-Za-z0-9\s.,-]*$/g.test(' 1');
// => true

关于javascript - 正则表达式不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32365646/

相关文章:

Java 正则表达式 : replacing a specific kind of url in a string?

javascript - tinymce 无法在初始化时正确调整大小

javascript - 创建 Function.prototype.theSame 以便 f() 可以作为 f.theSame() 调用

javascript - 获取表中带有复选框的行

html - Python 3.3.2 - 在 HTML 中查找图像源

regex - Mongo正则表达式查询嵌入对象列表中的字段

javascript - 使用最近邻算法缩放 Canvas 图像

javascript - 将自动完成选择附加到文本区域

javascript - 使用正则表达式和 javascript 将 HTTP url 重写为 HTTPS

python - 使用正则表达式功能突出显示多个单词