2011-10-08 7 views
1

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

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

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

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

Пример:

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

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

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

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

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

ответ

3

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

var string = 'dfg dfg df [gdf](http://test123.com "test") gdfg df gdfg' 
string.replace(/\[.*\][(].*[)]/g,''); 
+0

Удивительно, работает отлично! Спасибо – Ricky