2017-07-19 60 views

回答

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 
+0

这是在javacsript吗?我得到'无效正则表达式:/(?m)^.*?\/node_modules(?:\/((?!react-native-calendars(?=\/|$))[^\/\r\n ] *)* $ /'在我的控制台(相同的原料) – pingo

+0

@pingo - 是的,只需拿出'(?m)'https://regex101.com/r/H2BKQt/2,将它添加到分隔符如果需要,可以形成'// m'。 – sln

0

假设react-native-calendarsnode_modules直接子文件夹:

/node_modules\/(?!react-native-calendars(?:\/|$)).*/ 

/node_modules\/(?!react-native-calendars(?![^\/])).*/ 
+0

谢谢你,我该如何测试这个上regex101.com?我不认为主题字符串会起作用。 – pingo