2017-02-04 1 views
0

문자열의 일치하는 부분을 굵은 문자열로 대체하고 싶습니다. 이제부분 일치 문자열을 굵은 문자열로 바꾸기

const str = 'This is an Example'; 
const term = 'exam'; 

나는 내가 정규식을 사용하려고

This is an <strong>Exam</strong>ple 

결과를 얻을 싶지만, 문제는이와도 예의 대문자를 잘못된 구문을 가지고 솔기와 무시 될 것이다 :

const result = str.replace(new RegExp(escapeRegExp(term), 'g'), '<strong>' + term + '</strong>'); 
+0

사용을 플래그'gi'을뿐만 아니라, : 당신은 오히려 term의 경우로 교체보다 원래 소문자를 유지하려면 다음과 같이 또한, 당신은 캡처 그룹을 사용할 수 있습니다 'g'. 'escapeRegExp'는 무엇을 반환합니까? – Xufox

답변

1

일치 수행합니다.

const str = 'This is an Example'; 
 
const term = 'exam'; 
 
const result = str.replace(new RegExp(`(${term})`, 'gi'), '<strong>$1</strong>'); 
 

 
console.log(result);

0

표현에 i 플래그를 추가

,

는 대소 문자를 구별 당신이 i 플래그를 포함 할 필요가 소문자 구분으로 캡처 할 경우

new RegExp(term, 'gi') 
관련 문제