Написать паттерн Regex для поиска первой непарной закрывающейся скобки - C#

Узнай цену своей работы

Формулировка задачи:

Почитал про "сбалансированные группы" http://msdn.microsoft.com/en-us/libr...up_definition] ...очень тяжело идёт...возможно сказывается очень редкая работа с regex... пытаюсь написать паттерн Regex для поиска первой непарной закрывающейся скобки. Считай по примеру, приведённому там. Остановился на этом
@"((?<Open>[(])[^()]*)+((?Close-Open[)])[^()]*)+"
Судя по примеру, осталось добавить только
"(?(Open)(?!))"
но, к сожалению, не могу понять смысл этого паттерна... If the Open group exists, abandon the match if an empty string can be matched, but do not advance the position of the regular expression engine in the string. This is a zero-width negative lookahead assertion. Because an empty string is always implicitly present in an input string, this match always fails. Failure of this match indicates that the angle brackets are not balanced. Поэтому и не пойму, что писать дальше, чтобы вытащить первую непарную закрывающуюся скобку

Решение задачи: «Написать паттерн Regex для поиска первой непарной закрывающейся скобки»

textual
Листинг программы
"(((?<Open>[(])[^()]*)+((?<Close-Open>[)])[^()]*)+)*[)]{1}"

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы