我查看过this示例并尝试使用this website,但我仍然被卡住了。
我需要匹配除node_modules
以外的react-native-calendars
文件夹中的所有内容以及子目录/子目录。
我想我需要使用否定前瞻,这就是我所在的地方:
new RegExp (/node_modules\/(?!.*(react-native-calendars))/)
任何帮助将不胜感激!谢谢。
答案 0 :(得分:1)
这很有效。
原始^.*?/node_modules(?:/(?!react-native-calendars(?=/|$))[^/\r\n]*)*$
正则表达式文字/^.*?\/node_modules(?:\/(?!react-native-calendars(?=\/|$))[^\/\r\n]*)*$/
它匹配带有/ node_modules
文件夹和
的所有项目
在每/
设置验证点以检查错误文件夹。
如果您使用的是单项字符串,则可以删除(?m)
如果您希望它不区分大小写,可以根据需要添加(?i)
在JS中,您可以将它们添加到文字语法/regex/mi
我已经检查了这个,但是如果你有一些样本输入我可以链接
到在线测试仪(regex101.com)。
扩展
^ # BOL
.*? # Up until
/node_modules # Required 'node_modules'
(?: # Cluster
/ # / folder start
(?! # Assert cannot be the bad folder
react-native-calendars
(?= / | $ ) # Bad folder end
)
[^/\r\n]* # Ok, get up until start of next folder
)* # Cluster end, do 0 to many times
$ # EOL
答案 1 :(得分:0)
假设react-native-calendars
是node_modules
直接子文件夹:
/node_modules\/(?!react-native-calendars(?:\/|$)).*/
或
/node_modules\/(?!react-native-calendars(?![^\/])).*/