2015-11-11 3 views
1

Недавно я прочитал документ RFC, и я заметил, что используемые операторы регулярных выражений не соответствуют общеизвестным. Например:Операторы регулярного выражения RFC

date-time = [ day-of-week "," ] date time [CFWS] 
year = (FWS 4*DIGIT FWS)/obs-year 

Квадратный кронштейн означает, что он будет соответствовать только одному из нескольких символов в нем. Но в RFC я вижу, что они интерпретируют его как «необязательно». То же самое со звездочкой, которая говорит, что предыдущий токен будет происходить в нулевом или более раз. В этом примере мы имеем

4*DIGIT 

, что нетрудно догадаться, что означает 4 входа токена DIGIT.

Как следует интерпретировать операторы регулярных выражений документа RFC, есть ли какой-либо документ, описывающий их назначение?

+1

FWIW, я не был уверен, [регулярное выражение] Тег принадлежал здесь дается ли, что ответ оказался быть, поэтому он был [обсужден на мета] (http://meta.stackoverflow.com/questions/309996/should-i-edit-in-tags-for-the-right-topic). Если вы не знаете, что это такое, см. Также [Что такое «meta»?] (Http: // stackoverflow.com/help/whats-meta) –

ответ

2

документ (я считаю) вы смотрите, RFC 2822, говорит следующее:

1.2.2. Синтаксические обозначения

Этот стандарт использует дополненной Бэкуса-Наура (ABNF) обозначение , указанный в [RFC2234] для формального определения синтаксиса сообщений.

Итак, да, синтаксис определен в RFC 2234 и не является регулярным выражением.

несколько секций, специфичные для блока вы цитируемые:

3,5 Sequence Группа

элементы, заключенные в скобки, рассматриваются как единый элемент, содержание которого строго упорядоченным.

3,6 Переменный Повторение

Оператор "*", предшествующий элементу, указывает повторение. Полная форма:

<a>*<b>element 

<, где > и < б > необязательные значения десятичные, что указывает, по крайней мере < в > и в большинстве < б > вхождений элемента.

3,8 Необязательная последовательность

квадратные скобки заключаются необязательной последовательности элементов:

+0

Большое спасибо, не заметили раздел «Синтаксическая нотация» в этом документе. –

 Смежные вопросы

  • Нет связанных вопросов^_^