2015-10-29 2 views
0

Я пытаюсь захватить 2 предмета из простой строки.Regex Match между скобками (...)

[Title](Description) 

EDIT: на самом деле URL-адрес, отображаемый для отображения, называется описанием, потому что я хочу, чтобы он отображался на самом деле не разобран.

[Trivium](https://www.youtube.com/user/trivium) 

Схватка между скобками (...), похоже, не работает вообще для меня. Я гугле и нашел несколько вариантов, не повезло, спасибо заранее :)

EDIT:

Пробовал следующее:

[(.+?)]\((.*)\) 
[(.+?)]\([^\(\r\n]*\) 
[(.+?)]((.+?)) 

и компл больше я не могу найти снова

+2

Пожалуйста, покажите нам, что вы пытались до этого момента. –

+0

Вы помните, чтобы избежать каждой скобки? –

+0

Я не умный с этим и не знаю, что означает спасение, извините, пытаясь узнать еще –

ответ

2

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

\[.+?\]\((.*)\) 

Как @PM 77-1 указал, что вам нужно бежать скобки, поставив обратную косую черту перед ними. Причиной этого является то, что скобки являются специальными метасимволами регулярных выражений или символами, которые имеют особое значение. Скобки говорят движку регулярных выражений искать классы символов, содержащиеся внутри него.

Ваш оригинальный регулярное выражение [(.+?)]\((.*)\) фактически делает это:

[(.+?)] match a period '.' 1 or more times 
\((.*)\) match (anything), i.e. anything contained in parentheses 

Так что регулярное выражение будет соответствовать .....(stuff), но будет не матч [Title](Description), последний, который является то, что вы действительно хотите.

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

Regex 101

+0

Bare with me im testing и кажется, что он захватывает всю информацию после того, как скобка закрывается также –

+0

'\ [. +? \] \ ((. *) \)' Попробуйте использовать это регулярное выражение, если вы просто хотите извлечь что находится между круглыми скобками. Вы хотите извлечь только слово 'Описание' из примера' [Title] (Description) '? –

+0

Нет, это не описание слова. Его url, который я хочу отображать, начинается с http: //, если это помогает любому –

Смежные вопросы