我有以下字符串dfed operator 11 - 145
。我正在尝试匹配字符串operator 11
,并且在此匹配的字符串中,我试图匹配字符串11
。目前,我成功地将operator 11
与正则表达式((O|o)perator(i|I)?\s*)\d+(?=\s*(-|_)\s*\d+)
进行了匹配。正如我使用JavaScript一样,我无法使用lookbehinds。
我的方法正确吗?有没有办法在正则表达式中完成此操作?如何在先前匹配的字符串11
中匹配字符串operator 11
?
谢谢
答案 0 :(得分:0)
答案 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