嗨,我正在读取一个目录中的目录。它具有abcModule和abcRelationModule,xyzModule之类的名称

我有此正则表达式modules/*/graphql-schema,但它正在考虑abcModuleabcRelationModulexyzModule

我要排除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).+$

09-12 01:58