Regex “的正则表达式”;不属于;在OCaml中

Regex “的正则表达式”;不属于;在OCaml中,regex,ocaml,lex,lexer,Regex,Ocaml,Lex,Lexer,我想定义非行终止字符=ocamlex中字符集的语法不允许使用括号。以下是我的作品: let non_line_termination_character = [^ '\x0d' '\x0a' ] ocamlex中没有用于相交正则表达式的通用运算符。但是对于两个字符集a和b,您可以编写a(a#b) (奇怪的是,我的测试表明,这适用于我尝试的每个字符集,但对于非CR和非LF的特定示例,它失败了。它实际上似乎是一个bug。但可能我遗漏了一些明显的东西。)ocamlex中字符集的语法不允许使用括号。以

我想定义
非行终止字符=

ocamlex中字符集的语法不允许使用括号。以下是我的作品:

let non_line_termination_character = [^ '\x0d' '\x0a' ]
ocamlex中没有用于相交正则表达式的通用运算符。但是对于两个字符集a和b,您可以编写
a(a#b)


(奇怪的是,我的测试表明,这适用于我尝试的每个字符集,但对于非CR和非LF的特定示例,它失败了。它实际上似乎是一个bug。但可能我遗漏了一些明显的东西。)

ocamlex中字符集的语法不允许使用括号。以下是我的作品:

let non_line_termination_character = [^ '\x0d' '\x0a' ]
ocamlex中没有用于相交正则表达式的通用运算符。但是对于两个字符集a和b,您可以编写
a(a#b)


(奇怪的是,我的测试表明这适用于我尝试的每一个字符集,除了在非CR和非LF的特定示例中失败。它实际上似乎是一个bug。但可能我遗漏了一些明显的东西。)

[^'\x0D']
描述的字符集包括
'\x0A'
,反之亦然,所以这两个集合的并集包含了一切。我想这就是你想要的:

[^'\x0D' '\x0A']

[^'\x0D']
描述的集合包括
'\x0A'
,反之亦然,因此两个集合的并集包括所有内容。我想这就是你想要的:

[^'\x0D' '\x0A']