我有点难过,这里找到的正则表达式有效: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/