我不知道是否有使用ungreedy匹配在JavaScript的方法吗?我试图在U改性剂,但它似乎并没有工作。

我要使用JavaScript编写一个小BB代码分析器,但没有ungreedy匹配是不可能的(至少据我看到它)做这样的事情:

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

但由于没有必要检查HTML有效性,然后这样的替换将是很好。未封闭的标记将保持简单的文本。

有帮助吗?

解决方案

可以使用? *+后使其ungreedy,例如(.*?)

其他提示

我来晚了,但无论如何,我会发布的正则表达式。

'[b]one[/b] two [b]three[/b]'.replace( /\[b\](.+?)\[\/b\]/g, '<b>$1</b>' );
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top