Regex RFC正则表达式运算符
我最近读了一篇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文档
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]标记是否属于这里,所以它是。如果您不确定这是什么,请参见