Packages/Material Theme/widgets/Widget - Material-Theme.sublime-settings
Packages/DA UI/Widget - DA.sublime-settings
Packages/DA UI/Widget - DA (Windows).sublime-settings
Packages/TextMate/TextMate Syntax Definition (JSON).sublime-settings
Packages/DA UI/Widget - DA (Linux).sublime-settings
Packages/DA UI/Widget - DA (OSX).sublime-settings
Packages/User/YAML.sublime-settings是否有人有时间实现一个正则表达式来匹配前4个而不是最后3个。
规则
Packages之后,必须至少有一个文件夹。Packages后面的文件夹不能是“用户”。.前面包含一对括号,这些括号可能不包含其他平台的名称;如果当前平台为Windows,则不接受OSX和Linux (我们假设当前平台由变量platform表示)。这是我的尝试:
(?i)Packages/(?:[^/]+?/([^()]+?(?: \((?!OSX|Linux)\))?)\.sublime-settings)
它不匹配3和4,也不匹配最后一个。
(预先谢谢:)
发布于 2018-10-15 23:45:53
您可以使用
(?i)^Packages/(?!User)(?:(?![^/]+$).)+/[^(.]+(?:\((?!OSX|Linux).+\))?\.sublime-settingshttps://regex101.com/r/kgJMq4/2
(?!User) -在第一个斜杠之后对User进行负展望(?:(?![^/]+$).)+ -重复所有未加斜杠字符和字符串末尾的字符。/[^(.]+ -匹配最后的斜杠,然后重复非圆括号、非点字符,以便检查可选组:(?:\((?!OSX|Linux).+\))? -围绕一个不以OSX或Linux开头的短语的部分https://stackoverflow.com/questions/52826054
复制相似问题