Как отклонить конец параметров URL с помощью регулярного выражения? - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть скрипт, который должен запускаться при открытии определенного пути к странице.

Проблема: путь к странице содержит несколько параметров, включая параметр " returnUrl ", возвращающийпредыдущая страница посещена.

Вот URL, который я хочу проверить:

/cxsSearchApply?positionId=a0w0X000004IceYQAS&lang=en&returnUrl=https://example.com/cxsrec__cxsSearchDetail?id=a0w0X000004IceYQAS&lang=en&returnUrl=https://example.com/cxsrec__cxsSearch&lang=en

Я изначально использовал этот код регулярного выражения для вызова на этой странице:

(cxsSearchApply.*)

Но у меня есть другие коды регулярных выражений, такие как:

(cxsSearchSearchDetail.*)

И они также срабатывают из-за пути к странице, включенного в URL ...

Какое регулярное выражение я должен использовать, чтобы соответствовать первой частиURL, но ничего после " returnUrl "?

Ответы [ 2 ]

1 голос
/ 30 апреля 2019

То есть вы хотите сопоставить cxsSearchApply в тексте до &returnUrl.Вы можете использовать прогноз:

(cxsSearchApply.*)(?=returnUrl=)

Однако, что вы действительно хотите - это сопоставить все до first &returnUrl.Так что вам нужен не жадный оператор:

(cxsSearchApply.*?)(?=returnUrl=)

Аналогично, для вашего другого поиска он больше не должен совпадать, поскольку он также просматривает только первую часть:

(cxsSearchSearchDetail.*?)(?=returnUrl=)

Я верю, что это даст вам то, что вы хотите.

1 голос
/ 30 апреля 2019

Ничего после " returnUrl "

Если это буквально то, что вы хотите, вы можете просто сделать (.*)(&returnUrl=.*) и взять первую группу захвата в качестве результата.

...