2013-08-05 3 views
0

Регулярное выражение ниже работает отлично, чтобы найти все фигурные скобки ('{' и '}'). Но мне нужно найти двойные круглые скобки («((» и ')))Регулярное выражение для двойных круглых скобок

/\{(((?>[^\{\}]+)|(?R))*)\}/x 

Любой, кто знает, как перевести выше регулярное выражение для этого? Невозможно найти круглые скобки на многоуровневом уровне. Поэтому он также должен найти скобки между круглыми скобками.

ответ

0

Было бы полезно узнать, какой вкус регулярных выражений вы используете, но есть хороший шанс, что вам нужно указать ( и ) символов, так как они имеют особое значение. Поэтому замените ( на [(] и ) с [)] или используйте обратную косую черту, чтобы процитировать их.

+1

Ваш предыдущий ответ сделал трюк;) Большое спасибо за вашу помощь! Я просто попытался заменить {с ((и} с)), который не сделал трюк (как и ожидалось). Но это работает: '/ \ (\ ((()> [^ \ (\ (\) \)] +) | (? R)) *) \) \)/x' –

+1

Эффективно есть два способы цитирования специального символа в регулярных выражениях, один - с обратной косой чертой ('\'), другой - в '[]'. Однако имейте в виду, что символы внутри квадратных скобок определяют * набор * символов, которые должны быть сопоставлены, а не * последовательность *. – piokuc

+0

Хорошо, приятно знать. Спасибо за помощь! –

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