gpt4 book ai didi

正则表达式排除查找工具的单词

转载 作者:太空狗 更新时间:2023-10-29 12:00:30 26 4
gpt4 key购买 nike

我尝试使用 find util 查找文件,我想查找除特殊目录中的文件之外的所有 *.js 文件。我尝试使用命令查找:

find ./ -regex '\.((?\!node_modules).)*\.js'

但是这个场景一无所获。

此正则表达式适用于我测试过的 Sublime Text 3。

附言我知道用下面的其他选项解决问题。但我想知道如何用正则表达式解决问题

find ./ -path *node_modules -prune -o -name *.js

最佳答案

你现在不能这样做。

GNU Find 支持多种正则表达式类型,但它们都不支持零宽度断言。

-regextype type
Changes the regular expression syntax understood by -regex and -iregex tests which occur later on the command line. Currently-implemented types are emacs (this is the default), > posix-awk, posix-basic, posix-
egrep and posix-extended.

对于你的任务,你需要 lookbehind 断言,目前尚不支持。

您的另一个选择是使用 find2perl将查找表达式转换为 perl 程序,这与表达式的含义相同。

您可以使用此程序来检查您的表达式是否适用于 PCRE 和先行/先行断言。

关于正则表达式排除查找工具的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38852260/

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