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