정규식으로 JavaScript에서 Ungreedy 매칭을 사용하는 방법이 있습니까?
-
21-08-2019 - |
문제
JavaScript에서 Ungreedy 매칭을 사용할 방법이 있는지 궁금합니다. 나는 U modifer를 시도했지만 작동하지 않는 것 같습니다.
나는 JavaScript로 작은 bbcode 파서를 쓰고 싶지만, upreedy 일치하지 않으면 다음과 같은 일을 할 수는 없습니다.
'[b]one[/b] two [b]three[/b]'.replace( /\[b\](.*)\[\/b\]/, '<b>$1</b>' );
그러나 그러한 대체품은 HTML 유효성을 확인할 필요가 없기 때문에 좋을 것입니다. 미세한 마크 업은 간단한 텍스트를 유지합니다.
해결책
당신이 사용할 수있는 ?
~ 후에 *
또는 +
그것을 불확실하게 만들기 위해, 예를 들어 (.*?)
다른 팁
늦었지만 어쨌든 regex를 게시하겠습니다.
'[b]one[/b] two [b]three[/b]'.replace( /\[b\](.+?)\[\/b\]/g, '<b>$1</b>' );
제휴하지 않습니다 StackOverflow