Интересно, есть ли способ использовать несвязное соответствие в JavaScript? Я попробовал модификатор U, но, похоже, он не работает.
Я хочу написать небольшой синтаксический анализатор BBCode на JavaScript, но без несерьезного соответствия невозможно (по крайней мере, насколько я вижу) сделать что-то вроде этого:
'[b]one[/b] two [b]three[/b]'.replace( /\[b\](.*)\[\/b\]/, '<b>$1</b>' );
Но такая замена была бы хороша, поскольку тогда нет необходимости проверять правильность HTML. Незакрытые пометки останутся простым текстом.