gpt4 book ai didi

regex - 排除 OCaml RegEx 中的特定单词

转载 作者:行者123 更新时间:2023-12-03 20:37:21 26 4
gpt4 key购买 nike

我用 JavaScript 写了这个正则表达式:

node_modules\/(?!react\-hot).*-loader.*

这个想法是匹配每个字符串,如 node_modules/babel-loadernode_modules/css-loader但排除 node_modules/react-hot-loader .

Here is a regex101 link of this working .

(这里的上下文是我正在写一个 Flowtype config file )。

我正在尝试在 OCaml 中测试相同的 RegEx,但我没有成功:
# let regexp = Str.regexp "node_modules/(?!react-hot).*-loader.*";;
val regexp : Str.regexp = <abstr>
# Str.string_match regexp "node_modules/babel-loader" 0 ;;
- : bool = false
# Str.string_match regexp "node_modules/react-hot-loader" 0 ;;
- : bool = false

我不明白为什么 babel-loader string 与 RegEx 不匹配,因为这个相同的 RegEx 在 RegEx 101 中适用于 JavaScript RegEx。

我知道 OCaml 正则表达式不遵循与 JavaScript 正则表达式相同的标准。但是,在阅读官方文档 here 中有关 OCaml 正则表达式之后,我找不到任何可能导致这种行为差异的东西。

最佳答案

显然,!不是 OCaml 正则表达式中的特殊字符。因此,您似乎正在使用不受支持的功能。

关于regex - 排除 OCaml RegEx 中的特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49305881/

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