gpt4 book ai didi

regex - 匹配需要模块的正则表达式?

转载 作者:行者123 更新时间:2023-12-02 06:26:52 25 4
gpt4 key购买 nike

我在自定义文本编辑器中使用正则表达式来有效地将某些模块(断言和加密)列入白名单。我接近我需要的东西,但还不够。在这里:

/require\s*\(\s*'(?!(\bassert\b|\bcrypto\b)).*'\s*\)/

我希望正则表达式匹配任何包含 require('foo'); 的行,其中 foo 是除“assert”或“crypto”之外的任何内容。我失败的情况是 require('assert'); 与我的正则表达式不匹配但是 require('assert'); 被正确匹配。

https://regexr.com/4i6ot

最佳答案

如果您不想在 ' 之间匹配 assertcrypto,您可以更改 lookahead 以准确断言。您可以省略与 ' 之后的单词匹配的单词边界。

如果后面的内容应该匹配到 ' 第一次出现,您可以使用否定字符类 [^'\r\n]* 来匹配任何字符,除了' 或换行符。

require\s*\(\s*'(?!(assert|crypto)')[^'\r\n]*'\s*\)
^

Regex demo

关于regex - 匹配需要模块的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57227103/

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