регулярное выражение разбора нескольких выражений - PullRequest
0 голосов
/ 23 марта 2020

У меня есть требование, чтобы проанализировать часть URL с несколькими выражениями с помощью регулярных выражений, выражения, как / abc / def (или) / z / a (или) / v / g. У меня есть регулярное выражение, которое удовлетворяет одному выражению, но не уверен, как это сделать для множественного выражения.

(?<volga>.+?\/abc\/def.+?)

Волга является именованной группой захвата. Выше регулярного выражения удовлетворяет что-либо до / ab c и что-либо после / def, точно так же, как URL также имеет / z / a и / v / g. Это своего рода / abc / def / или / z / a или / v / g может существовать в URL. Как написать регулярное выражение, которое проверяет все вышеперечисленные выражения.

Примеры URL:

/api/com/abc/def/710660716/847170/
/api/com/z/a/

1 Ответ

1 голос
/ 23 марта 2020

Может быть это:

(?<volga>.+?\/((abc\/def)|(z\/a)|(v\/g)).*)
  • Соответствует любой строке, содержащей
    • abc / def
    • или z / a
    • или v / г

Regex101

...