사용자 입력 태그를 실제 HTML 태그로 대체하기 위해 일부 JavaScript RegEx를 작성하려고하므로 [b]
은 <b>
이됩니다. 와 내가 그렇게자바 처리 RegEx 서브 작업 처리
var exptags = /\[(b|u|i|s|center|code){1}]((.){1,}?)\[\/(\1){1}]/ig;
같은 외모를 사용하고있는 정규식 다음과 같은 자바 스크립트
s.replace(exptags,"<$1>$2</$1>");
이 예를 들어, 하나의 중첩 된 태그 잘 작동 :
[b]hello[/b] [u]world[/u]
하지만 태그가 중첩 된 경우 서로 내부에만 바깥 태그와 일치합니다 (예 :
)[b]foo [u]to the[/u] bar[/b]
이 태그는 b
태그와 일치합니다. 이 문제를 어떻게 해결할 수 있습니까? 시작 문자열이 결과와 동일 할 때까지 그냥 반복해야합니까? ((.){1,}?)
patten도 잘못되었다는 느낌이 들었습니까?
감사는 정규 표현식 재귀를 표현할 수