24

JavaScriptで貪欲でないマッチングを使用する方法があるのだろうか?U modiferを試しましたが、機能しないようです。

JavaScriptで小さなBBCodeパーサーを書きたいのですが、貪欲なマッチングがなければ、(少なくとも私が見る限りでは)次のようなことはできません。

'[b]one[/b] two [b]three[/b]'.replace( /\[b\](.*)\[\/b\]/, '<b>$1</b>' );

ただし、HTMLの有効性を確認する必要がないため、このような置換は便利です。閉じられていないマークアップは単純なテキストのままになります。

4

2 に答える 2

47

?*またはそれを貪欲にしないために使用することができます+、例えば(.*?)

于 2008-12-12T20:24:55.820 に答える
4

遅れましたが、とにかく正規表現を投稿します。

'[b]one[/b] two [b]three[/b]'.replace( /\[b\](.+?)\[\/b\]/g, '<b>$1</b>' );
于 2008-12-12T20:30:39.770 に答える