获取正则表达式匹配的起始索引和结束索引

时间:2014-05-22 14:01:10

标签: javascript jquery

http://jsfiddle.net/KRrb9/7/

<textarea>* this is a bold string * this is not a bold string </textarea>
<button> match! </button>

$('button').bind('click', function(){
    var match = $('textarea').val().match(/(.)+/);
    console.log(match);
});

以上match.index返回匹配的第一个字母的位置,即匹配整个字符串的0

我怎样才能结束比赛?我认为这很简单,但遗憾的是匹配对象只包含匹配的起始索引:(

["* this is a bold string * this is not a bold string ", " ", index: 0, input: "* this is a bold string * this is not a bold string "] 

1 个答案:

答案 0 :(得分:0)

您的字符串长度为match[0].length个字符,请将其添加到您的开头以获取结束索引:

$('button').bind('click', function(){
    var match = $('textarea').val().match(/([a-z]+)/);
    console.log( match.index + match[0].length );
});