Регулярное выражение: игнорировать между скобками и скобками

У меня есть регулярное выражение, которое проверяет, что фраза включена:

var regex = new RegExp( "(\\s|\\b)" + phrases[i] + "(\\s|\\b)", "i" );
var result = regex.test( value );

Что мне нужно сделать, это игнорировать фразу, если она заключена в скобки [] И круглые скобки ().

Я на самом деле использую Markdown для генерации HTML, но я не хочу, чтобы он принимал фразу, если она имеет синтаксис Linkdown или Image markdown.

Пример:

Требуя фразу "тест", он примет:

dfg dfg df [gdf](http://test123.com "test") gdfg df gdfg

Потому что "тест" в названии ссылки.

Если я могу заставить его игнорировать фразу внутри синтаксиса [...](...) это было бы замечательно.

Если нет, то просто проигнорируйте что-нибудь в скобках или скобках.

1 ответ

Решение

Вы можете разобрать скобки с последующими скобками с этим регулярным выражением.

var string = 'dfg dfg df [gdf](http://test123.com "test") gdfg df gdfg'
string.replace(/\[.*\][(].*[)]/g,'');
Другие вопросы по тегам