gpt4 book ai didi

regex - OCaml 中的正则表达式 "\|\|"与字符串 ";;"错误匹配

转载 作者:行者123 更新时间:2023-12-04 03:30:06 27 4
gpt4 key购买 nike

我在 OCaml 中使用 Str.regexp 来检测双分号或或和和符号等,但很多正则表达式没有按预期工作。例如,

Str.string_match (Str.regexp "\|\|") ";;" 0
返回真。你必须转义像'|'这样的字符,所以我用了“\|\|”作为我的正则表达式而不是“||”。不过,我听说你可能要逃两次,然后写“\\|\\|”在 Ocaml 中,但这也不起作用。那我该怎么办? Rubular认为 Regex 应该可以工作,但这是 Ocaml 而不是 Ruby,所以我可能错过了一些微妙的语言差异。

最佳答案

没有(广泛接受的)正则表达式标准。虽然出现了许多常见的约定,但每个实现都是不同的。因此,您应该始终引用 the documentation of the implementation you're using .
但是,如果您想要一个提供更传统语法的实现,我建议您使用 ocaml-re ,这是纯 OCaml 中的正则表达式实现,提供多种不同语法的选择,Perl、Posix 和 Emacs 以及 PCRE 的子集。

关于regex - OCaml 中的正则表达式 "\|\|"与字符串 ";;"错误匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67086204/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com