gpt4 book ai didi

javascript - 用于排除一些与起始字符串匹配的子文件夹的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-04 11:55:35 24 4
gpt4 key购买 nike

我正在尝试设置一个正则表达式模式,以允许父文件夹包含任何字符(不区分大小写),包括特殊字符,并在匹配不区分大小写的特定起始单词时排除子文件夹名称。

我得到了排除子文件夹的临时解决方案,但在那个正则表达式中我必须硬编码我想排除的所有子文件夹:

[a-zA-Z0-9\-]\/(?!(st1|str2|str3))

在这里用户可以创建任何名称作为父文件夹,包括特殊字符:

its_MY-folder/foo
folder/bar

但是每当尝试通过忽略大小写创建以单词“test”开头的子文件夹时都需要限制它们:

MY_Folder-name/test_name
MY_Folder/Test-name

预先感谢您的帮助。

最佳答案

negative lookahead只是一个占位符,所以当没有test这个词时,你需要告诉正则表达式解析器你想要匹配什么:

^.*\/(?!(test|Test))[^\/]+$

Here is that regex tested online

您可以看到,在否定前瞻((?!(test|Test)) 位)之后,我说我想要任何不是 / 的字符和 $ 行的末尾,这样我可以确保我在路径的末尾。

在我的正则表达式中,我从头到尾匹配整个字符串,但您可以删除开头的 ^.*

不区分大小写通常是您正在使用的库的一个特性,因此请查看如何做到这一点。例如,如果您使用 Linux 和 grep,您可以执行 grep -i 以不区分大小写。

关于javascript - 用于排除一些与起始字符串匹配的子文件夹的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54459302/

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