У меня есть следующее регулярное выражение, которое отлично работает, пока не возникнет новая ситуация.
^.*[?&]U(?:RL)?=(?<URL>.*)$
В основном, он используется против URL-адресов, чтобы захватить ВСЕ после U = или URL = и вернуть его в URL-адрес
Итак, для следующего
http://localhost?a=b&u=http://otherhost?foo=bar
URL = http://otherhost?foo=bar
К сожалению, появился нечетный случай
http://localhost?a=b&u=http://otherhost?foo=bar&url=http://someotherhost
В идеале, я хочу, чтобы URL-адрес был " http://otherhost?foo=bar&url=http://someotherhost", вместо этого он просто " http://someotherhost"
EDIT: Я думаю, что это исправлено... хотя это не очень.
^.*[?&](?<![?&]U(?:RL)?=.*)U(?:RL)?=(?<URL>.*)$