2010-08-03 5 views
0

내가 가지고있는 경우는 이제 정규 표현식 /(this|a)/자바 스크립트 정규식 결과

를 사용하는 경우 : _ is _ sentence

나는 선택 않는 자바 스크립트의 조각 작업입니다 :

var text = "this is a sentence."; 
text = text.replace(/(this|a)/gi, "_"); 
document.write(text); 

나는 출력을 얻을 스타일링을하고 싶습니다. '<span class="className">" + word_in_regex + "</span>"을 입력하십시오. 여기서 word_in_regex은 일치 된 표현식의 단어입니다. 이것이 가능한가, 그렇지 않은가?

+1

재밌 네요, 그 정규 표현식으로 얻은 결과는 "_ 문장입니다." – MooGoo

답변

3

당신은 첫 번째 그룹의 일치 참조하는 대체 문자열에서 $1를 사용할 수 있습니다

"this is a sentence".replace(/(this|a)/g, "_$1_") // returns "_this_ is _a_ sentence" 

참고 g 전 세계적으로 대체 할 플래그를; 그렇지 않으면 첫 번째 경기 만 교체됩니다. 자세한 내용은 RegExpString.prototype.replace을 참조하십시오.

+0

와우 나는 내가 그만 두었다는 것을 몰랐다. 그러나 이것은 필요에 따라 정확하게 작동합니다. –

관련 문제