조금 강조 표시하려고합니다. 내가 가진 문제는 $ 1에 일치 항목을 삽입하지 않는다는 것입니다. 당신이 볼 수있는 내 기능
getMatch(str, search) {
let result = str.replace(new RegExp(search, 'gi'), '<span class="match">$1</span>');
return result;
}
처럼 보이는이 경기를 마무리해야한다. 그러나 그렇지 않습니다. 여기 예를 들어 내가 그것을 사용하는 방법 :
My string <span class="match">with</span> highlighting.
하지만 난 그냥 얻을 :
let string = 'My string with higlighting.';
let match = getMatch(string, 'With');
내 예상 결과는
My string <span class="match">$1</span> highlighting.
어떻게 해결할 수 있습니까?
을 당신이'와 전체 경기를 마무리 할 생각 스팬'맞지? 그런 다음'$ 1'을'$ &'로 대체하십시오. –
이미 시도해 봤습니다. 문제는 내가 대소 문자를 구별하지 않지만 문자열이 더 낮거나 대문자라는 것입니다. 그래서 검색 문자열로 바꿀 수는 없습니다. 일치 항목으로 바꾸어야합니다. – mastercheef85
'With'는 캡처 그룹이 없으므로 '$ 1'은 리터럴 문자열로 구문 분석됩니다. '$ &'는 전체 일치 값 *을 교체에 삽입합니다. –