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