Как перенести в сопоставленные группы одно регулярное выражение в другое регулярное выражение в C #?
Мне нужно обработать DNS-запись ENUM, где первая половина записи является регулярным выражением для применения к значению поиска, а вторая половина - регулярное выражение, использующее совпадения из первой.
Пример записи ENUM для поиска по + 18001234567
!^\+1800(.*)$!sip:1641641800\1@tollfree.sip-happens.com!
Отдельные регулярные выражения разделяются символом! символ и являются:
^\+1800(.*)$
sip:1641641800\1@tollfree.sip-happens.com
Правильный результат применения двух выражений:
глотка: 16416418001234567@tollfree.sip-happens.com
Я могу сделать это, перебирая совпадения и используя поиск и замену грубой строки, но я надеюсь, что есть лучший способ. Я вполне уверен, что в Perl и других языках я мог бы сделать что-то вроде:
"+18001234567" =~ s/^\+1800(.*)$/sip:1641641800\1@tollfree.sip-happens.com/