APIGEE - регулярное выражение не работает в условии - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь использовать условие, чтобы поймать случай, в котором строка запроса запроса содержит два или более параметров из определенного списка.В таком случае я хочу выдать ошибку.

Конечно, я могу использовать много предложений "и" и "или", но это очень быстро запутается, так как размер списка параметров увеличивается,Поэтому вместо этого я решил использовать регулярное выражение для проверки этого.

Например, если список параметров [Bird, Dog, Horse], то любой запрос, имеющий два или более этих параметров вего строка запроса должна соответствовать.

Я использую регулярное выражение:

/(.<em>(Bird|Dog|Horse).</em>){2}

Я тестировал в различных тестерах регулярных выражений, и он работает.

Однако, когда я ставлю условие:

request.querystring Matches "/(.<em>(Bird|Dog|Horse).</em>){2}"

Я никогда не получаю совпадение.

Я пропускаю некоторые конкретные правила регулярных выражений APIGEE?Может быть, "{2}" не поддерживается в APIGEE?Большое спасибо !!

Адам

1 Ответ

0 голосов
/ 01 февраля 2019

Проблема была в том, что я использовал «Совпадения» вместо «JavaRegex».Я пробовал «JavaRegex» раньше, но он также не работал - вторая проблема заключалась в том, что у меня в начале «/», что не нужно, если вы используете «JavaRegex».

https://community.apigee.com/questions/65080/regular-expression-not-working-in-condition.html?childToView=65113#answer-65113

...