#c_sharp #регулярные_выражения
Представим очень большую регулярку, которая в одной строке забирает все между тегами, например: '>значение<' Для этого напишем что-то вроде: >([^<]+) Подобных одинаковых абсолютно кусков выражения может быть много. Можно ли заключить их в группу типа: (?'value'[^<]+) и использовать в другом куске этого же выражения по типу >(value)?
Ответы
Ответ 1
Так как в в .NET нет \gи рекурсии, как в PCRE, невозможно внутри регулярного выражения использовать ссылку на часть регулярного выражения. Для этого проще использовать string.Format(): var something = "[^<]*"; var regex = new Regex(string.Format(">{0}<.*?>{0}<", something));
Комментариев нет:
Отправить комментарий