-1

Я только начал работать над ENUM, и мы получили некоторые RR и ответы, которые похожи на эти

IN  NAPTR 100 10 "u" "E2U+sip" "!^44(.*)$!sip:9739668530@isp.example.com;user=phone!" .

Я хочу понять, как работают эти символы подстановки / регулярные выражения и как и почему они используются в ENUM?

like.."!^44(.*)$!

Могу ли я получить какие-либо ссылки или RFC, которые могут объяснить, что означают эти символы?

1 ответ1

1

Тип записи NAPTR определен в RFC 3403. Это относится к RFC 3402 для общего алгоритма и синтаксиса регулярного выражения.

Последний описывает замены как «комбинацию расширенного регулярного выражения POSIX и строки замены, аналогичной выражению замены Unix в стиле sed». (Оба варианта являются очень распространенными синтаксисами, и вы можете найти десятки руководств по регулярным выражениям за минуту.)

Весь параметр имеет следующий синтаксис:

<separator>  <regex>  <separator>  <substitution>  <separator>

например

!<regex>!<substitution>!

Так что ^44(.*)$ - это регулярное выражение в синтаксисе POSIX, а sip:9739668530... будет заменой. Это означает, что весь номер телефона - если он начинается с 44 - заменяется на sip-URL.

Опять же, я не буду копировать здесь множество документации по регулярным выражениям (Вам не нужно специально искать POSIX - очень похожий синтаксис используется регулярными выражениями PCRE, регулярными выражениями JavaScript, регулярными выражениями Python и т.д., Отличающимися только расширенными функциями.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .