Regex 复杂ABNF规则转换为正则表达式

Regex 复杂ABNF规则转换为正则表达式,regex,abnf,Regex,Abnf,这对我来说很难。如何将ABNF规则转换为正则表达式 *((*LF *CR *(\x0 / text) *CR *LF) / CRLF) 假定 1.文本后面的*是一个打字错误 2.您的意思是/而不是|管道在正则表达式中分隔替代项,但在ABNF中需要使用斜杠 没那么难。在正则表达式中,使用管道而不是斜杠,量词是后缀而不是前缀。空白不会被忽略,除非您处于自由间距模式,您可以使用/x修改器切换到该模式。使用\x00,即使\x0可能也会工作。CRLF==\r\n,而不是\n\r@Vadzim谢谢,改了。

这对我来说很难。如何将ABNF规则转换为正则表达式

*((*LF *CR *(\x0 / text) *CR *LF) / CRLF)
假定 1.文本后面的*是一个打字错误 2.您的意思是/而不是|管道在正则表达式中分隔替代项,但在ABNF中需要使用斜杠


没那么难。在正则表达式中,使用管道而不是斜杠,量词是后缀而不是前缀。空白不会被忽略,除非您处于自由间距模式,您可以使用/x修改器切换到该模式。使用\x00,即使\x0可能也会工作。

CRLF==\r\n,而不是\n\r@Vadzim谢谢,改了。是的,我已经纠正了打字错误。
((\n*\r*(\x00|text)*\r*\n*)|\r\n)*