如何在ocaml中编写正则表达式?

如何为"z1" + "z2"(z1或z2)编写正则表达式?

我尝试过这种方式,但它给了我错误。

let p = Str.regexp "("z1")|("z2")";;

最佳答案

如果要在输入中匹配双引号,则应转义它们:

"(\\"z1\\")\\|(\\"z2\\")"


您可以使用z1|z2缩短交替时间:

"(\\"z1\\|z2\\")"


否则,如果输入中不包含双引号,则模式应为:

"(z1\\|z2)"

关于regex - 正则表达式匹配Ocaml中的z1或z2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8373711/

10-09 03:45