嗨,我正在读取一个目录中的目录。它具有abcModule和abcRelationModule,xyzModule之类的名称
我有此正则表达式modules/*/graphql-schema
,但它正在考虑abcModule
,abcRelationModule
,xyzModule
。
我要排除abcRelationModule
,其末尾带有RelationModule
。
最佳答案
试试这个正则表达式:
modules\/(?![^\/]*RelationModule)[^\/]*\/graphql-schema
Click for Demo
See the JAVA code here
说明:
modules\/
-从字面上匹配modules/
(?![^\/]*RelationModule)
-否定的超前检查,以检查目录中下一个RelationModule
出现之前文本/
是否存在[^\/]*
-匹配0个以上出现的除/
之外的任何字符\/graphql-schema
-从字面上匹配/graphql-schema
如果您不想在目录中的任何位置使用
RelationModule
,则只需使用^(?!.*RelationModule).+$