Regex RFC正则表达式运算符

Regex RFC正则表达式运算符,regex,rfc,abnf,Regex,Rfc,Abnf,我最近读了一篇RFC文档,我注意到已经使用的正则表达式操作符与通常所知的不匹配。例如: date-time = [ day-of-week "," ] date time [CFWS] year = (FWS 4*DIGIT FWS) / obs-year 方括号意味着它将只匹配其中几个字符中的一个。但在RFC中,我看到他们将其解释为“可选”。与asterix相同,表示前面的标记将出现零次或更多次。在我们的例子中 4*DIGIT 这不难猜测,这意味着4次出现数字标记 我应该如何解释RFC文档

我最近读了一篇RFC文档,我注意到已经使用的正则表达式操作符与通常所知的不匹配。例如:

date-time = [ day-of-week "," ] date time [CFWS]
year = (FWS 4*DIGIT FWS) / obs-year
方括号意味着它将只匹配其中几个字符中的一个。但在RFC中,我看到他们将其解释为“可选”。与asterix相同,表示前面的标记将出现零次或更多次。在我们的例子中

4*DIGIT
这不难猜测,这意味着4次出现数字标记

我应该如何解释RFC文档regex operators,是否有任何文档描述他们的指定?

您正在查看的文档(我相信)如下所示:

1.2.2。句法符号

本标准使用增强的巴科斯-诺尔形式(ABNF)表示法 在[RFC2234]中指定,用于 信息

因此,是的,语法是在中定义的,而不是正则表达式

针对您所引用的块的几个部分:

3.5序列组

括号中的元素被视为单个元素, 其内容是严格有序的

3.6可变重复

元素前面的运算符“*”表示重复。全部 表格为:

   <a>*<b>element
*元素
其中和是可选的十进制值,表示至少 元素的最多出现次数

3.8可选顺序

方括号中包含一个可选的元素序列:


非常感谢,我没有注意到本文档中的语法符号部分。FWIW,根据答案,我不确定[regex]标记是否属于这里,所以它是。如果您不确定这是什么,请参见