返回 Javascript 中正则表达式 match() 的位置?

230

在Javascript中,是否有一种方法可以检索正则表达式match()的结果字符串中(起始)字符位置?

12个回答

0
function trimRegex(str, regex){
    return str.substr(str.match(regex).index).split('').reverse().join('').substr(str.match(regex).index).split('').reverse().join('');
}

let test = '||ab||cd||';
trimRegex(test, /[^|]/);
console.log(test); //output: ab||cd

或者

function trimChar(str, trim, req){
    let regex = new RegExp('[^'+trim+']');
    return str.substr(str.match(regex).index).split('').reverse().join('').substr(str.match(regex).index).split('').reverse().join('');
}

let test = '||ab||cd||';
trimChar(test, '|');
console.log(test); //output: ab||cd

-1

var str = 'my string here';

var index = str.match(/hre/).index;

alert(index); // <- 10


3
就像四年前这个答案中所示的那样(与你的不同,这个答案是可行的)。 - Andreas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接