javascript - 正则表达式返回 null

标签 javascript regex

我有点难过,这里找到的正则表达式有效:https://regex101.com/r/rD5nP9/1

它找到了所有匹配项,但是当我将它放入我的代码中时,我得到了 null 并且我不确定为什么。

var value = "name == 'Bob'";

var regex = new RegExp('(.+?)\s(.+?)\s(.+)');

var matches = value.match(regex); // returns null
regex.exec(value); // returns null

我想要得到的是一个如下所示的数组:

["name", "==", "'Bob'"]

但出于某种原因代码没有找到它,但它在 http://regex101.com 上工作我得到了匹配项目的列表。

最佳答案

您需要对反斜杠进行两次转义,否则它会将 \s 视为转义序列。

var regex = new RegExp("(.+?)\\s(.+?)\\s(.+)");

使用正斜杠作为正则表达式分隔符。

var regex = /(.+?)\s(.+?)\s(.+)/;

关于javascript - 正则表达式返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31362687/

相关文章:

javascript - 将列表的每次出现限制为 1

regex - 无法将正则表达式和列表结果放在一起

regex - 正则表达式:匹配除特定模式以外的所有内容

javascript - 如何在没有路径问题的情况下在母版页 header 中包含 jquery?

javascript - 如何使用 javascript 从 iframe 打开链接

javascript - JQuery fadeOut回调函数在fadeOut结束后正在执行

java - 正则表达式从 URL 中提取 ip 地址

php - 将一列中的页面分组

javascript - 匹配字符串中带有小数分隔符的数字

javascript - 使用js的页面中的所有css类