是否可以在javascript正则表达式中匹配捕获组匹配的字符串中的字符串?

时间:2018-11-20 08:12:35

标签: javascript regex

我有以下字符串dfed operator 11 - 145。我正在尝试匹配字符串operator 11,并且在此匹配的字符串中,我试图匹配字符串11。目前,我成功地将operator 11与正则表达式((O|o)perator(i|I)?\s*)\d+(?=\s*(-|_)\s*\d+)进行了匹配。正如我使用JavaScript一样,我无法使用lookbehinds。

我的方法正确吗?有没有办法在正则表达式中完成此操作?如何在先前匹配的字符串11中匹配字符串operator 11

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用(请注意演示中不区分大小写的标志):

operator\D+(\d+)

请参见GETURL

答案 1 :(得分:0)

您可以通过为匹配的number中的第一个string创建一个组来修改正则表达式:

const str = 'dfed  operator  11 -  145';
const regex = /([O|o]perator)[i|I]?\s*(\d+)*[?=\s*(-|_)\s*\d+]/;
const found = str.match(regex);

console.log(found);
console.log(found[1]); // <-- group for string
console.log(found[2]); // <-- group for number