有没有办法使用ungreedy匹配在JavaScript中的正则表达式的方法吗?
-
21-08-2019 - |
题
我不知道是否有使用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>' );
不隶属于 StackOverflow