正则表达式不匹配字符串的多个部分

regex not matching for multiple part of string

我想写类似

的正则表达式

/scheduling/groups/members/[list*|get*|search*].json

应该与字符串匹配

/scheduling/groups/list.json

/scheduling/groups/getGroup.json

/scheduling/groups/searchMember.json

并且不应与

匹配

/scheduling/groups/save.json

您可以使用这个正则表达式

\/scheduling\/groups\/(?:list|get|search).*\.json

Online demo

甚至可以使用

 # (?i)/scheduling/groups/(?:list|get|search)[^/]*\.json

 (?i)                          # Case insensitive modifier
 /scheduling/groups/           # Literal '/scheduling/groups/'
 (?:                           # Cluster group, one of either 
      list                          # 'list'
   |                              # or,
      get                           # 'get'
   |                              # or,
      search                        # 'search'
 )                             # End cluster group
 [^/]*                         # 0 - many characters that are non filename separators
 \. json                       # to get to '.jason'