string.match()를 정규식과 함께 사용하면 일치하는 문자열은 반환되지만 일치하는 부분은 원래 문자열로 되돌릴 수 있습니다. string.search()를 수행하면 인덱스를 얻지 만 문자열의 일치하는 부분이 얼마나 긴지 반드시 알 필요는 없습니다. 둘 다 할 수있는 방법이 있나요? 끝의 문자열을 원래 문자열로 가져올 수 있습니까?정규 표현식의 끝 인덱스 찾기/일치
같은 결과를 다른 방식으로 반환한다고 가정하면 (아래) 다른 하나를 수행 할 수 있다고 가정합니다. 그러나보기에는 엉망이고 비효율적이며, 더 좋은 방법이 있다고 생각합니다. 대안
var str = "Fear leads to anger. Anger leads to hate. Hate leads to suffering";
var rgx = /l[aeiou]+d/i;
var match = str.match(rgx);
if (match && match[0]) {
var i = str.search(rgx);
console.log ("end of match is at index " + (i+match[0].length));
}
흥미 롭다 .... 나는 크롬이 배열에 인덱스를 둔다는 것을 알아 챘다. (당신은/g가 없다고 가정하고 여러 개의 일치가있을 것이고 하나의 인덱스를 갖는 것이 합리적이지 않을 것이다) . 모든 합리적인 브라우저 (...?)가이를 지원한다면 완벽합니다. – rob