Могу ли я использовать тире в именованных захватах с System.Text.RegularExpressions .NET? - PullRequest
0 голосов
/ 04 ноября 2008

Можно ли сделать что-то вроде (? 'A-B' \ s *)?

1 Ответ

2 голосов
/ 04 ноября 2008

Из документов:

(<? Name1-name2> Подвыражение)

(Определение балансировочной группы.) Удаляет определение ранее определенная группа name2 и хранит в имя группы1 интервал между ранее определенная группа name2 и текущая группа. Если нет группы name2 определено, соответствие возвращается. Так как удаляя последнее определение name2 раскрывает предыдущее определение name2, эта конструкция позволяет стек захватов для группы name2, которая будет использоваться в качестве счетчика для отслеживания вложенные конструкции, такие как скобки. В этой конструкции name1 является необязательным. Вы можете использовать одинарные кавычки вместо угловые скобки; например, (? Name1-name2 »).

Ваш пример работает, только если существует группа с именем B, уже определенная в регулярном выражении, и вы собираетесь делать то, что подразумевает A-B.

Если вы спрашиваете, может ли название группы содержать тире, нет. Тире имеет особое значение в именованных группах.

Для получения дополнительной информации см. пример в этом разделе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...