[javascript] 일치하는 그룹을 참조하여 자바 스크립트를 대체 하시겠습니까?

와 같은 문자열이 있습니다 hello _there_. 내가 가진 두 개의 밑줄을 교체하고 싶습니다 <div></div>사용하여, 각각 자바 스크립트를 . 따라서 출력은 다음과 같습니다 hello <div>there</div>. 문자열에는 여러 쌍의 밑줄이 포함될 수 있습니다.

내가 찾던하는 방법입니다 각 경기, 루비 그것을 수행하는 방법에 함수를 실행합니다 :

"hello _there_".gsub(/_.*?_/) { |m| "<div>" + m[1..-2] + "</div>" }

또는 루비에서 수행 할 수있는 방법과 일치하는 그룹을 참조 할 수 있습니다.

"hello _there_".gsub(/_(.*?)_/, "<div>\\1</div>")

어떤 아이디어 나 제안?



답변

"hello _there_".replace(/_(.*?)_/, function(a, b){
    return '<div>' + b + '</div>';
})

아, 아니면 :

"hello _there_".replace(/_(.*?)_/, "<div>$1</div>")


답변

replace대신 사용할 수 있습니다 gsub.

"hello _there_".replace(/_(.*?)_/g, "<div>\$1</div>")


답변

에 의해 지정된 교체 문자열 및 교체 패턴 $. 여기 이력서 :

여기에 이미지 설명을 입력하십시오

문서 링크 : 여기

"hello _there_".replace(/_(.*?)_/g, "<div>$1</div>")

노트 :

당신은을하려면 $대체 문자열의 사용 $$. vscode 스 니펫 시스템과 동일합니다.


답변