JavaScript で非貪欲マッチングを使用する方法はあるのでしょうか? U 修飾子を試してみましたが、機能しないようです。
JavaScript で小さな BBCode パーサーを書きたいのですが、非貪欲なマッチングがなければ、次のようなことは (少なくとも私が見る限り) できません。
'[b]one[/b] two [b]three[/b]'.replace( /\[b\](.*)\[\/b\]/, '<b>$1</b>' );
しかし、このような置換は HTML の有効性をチェックする必要がないので便利です。閉じられていないマークアップは単純なテキストのままになります。
ベストアンサー1
?
または を*
使用する+
と、貪欲さをなくすことができます。例:(.*?)