Regex 从两个字符串中提取url链接的正则表达式模式

Regex 从两个字符串中提取url链接的正则表达式模式,regex,Regex,我有两个字符串,其中我必须对URL进行排序。我想要一个正则表达式模式来提取它们 https://l.facebook.com/l.php?u=http%3A%2F%2Febay.to%2F2EyH7Nq&h=ATNHM5kACc4rh_z68Ytw__cNCzJ63_iPezd_whc0PjcsN4qj1PfdJgFXyrOKM3-biqPm7eAXTOc5LD6r-7JXhRsqsqEHUs0jaJkjvm_QWf6sqbHQmS63q6P0_NcQoUa86Az5EttNT9xJb_

我有两个字符串,其中我必须对URL进行排序。我想要一个正则表达式模式来提取它们

https://l.facebook.com/l.php?u=http%3A%2F%2Febay.to%2F2EyH7Nq&h=ATNHM5kACc4rh_z68Ytw__cNCzJ63_iPezd_whc0PjcsN4qj1PfdJgFXyrOKM3-biqPm7eAXTOc5LD6r-7JXhRsqsqEHUs0jaJkjvm_QWf6sqbHQmS63q6P0_NcQoUa86Az5EttNT9xJb_evKBaiFxW7e7v2afJQn2zNxz5lQ8xgxhMcEFuJ3hUiSYUMEemKFB2LSIgAZFibRv4GeRrTk8hxFaArkBuAhQaXQFd4jX-aQuUYhjD0ErV5FY-D4gFMpb0lFCU7SyBlRpkUuOcHVjwjxN-_g6reMYwo8loAJnJD
/redirect?q=http%3A%2F%2Fgoo.gl%2FIW7ct&redir_token=PV5sR8F7GuXT9PgPO_nkBFLABQx8MTUxNjA3OTY5MEAxNTE1OTkzMjkw&v=7wmIyD1fM4M&event=video_description
输出将来自第一和第二链路:-

http%3A%2F%2Febay.to%2F2EyH7Nq
http%3A%2F%2Fgoo.gl%2FIW7ct
请帮帮我。 我已经使用了:-
(http | https.*?&

但它在第一个url上不起作用。

您可以尝试以下方法:

=(https?[^&]*)

如果您喜欢的regex中有可能出现后向查找,那么您也可以尝试此方法,以确保不会捕获等号:

(?<=)(https?[^&]*)

(?您可以使用此模式仅捕获
goo.gl
ebay.to
链接:

(http%3A%2F%2F(ebay\.to|goo\.gl)%2F[^&]*)&
试试这个正则表达式

我还通过regex101附加regex的输出

http%3A%2F%2F(.*)%2F(.*[^&])(?=&)

可能的重复可能值得添加一个捕获组,以便轻松摆脱
=
…或查找落后;)你是对的MatBailie,与此同时,我正试图匹配所需的内容,因此出现了查找落后正则表达式。顺便说一句,在第一个解决方案中添加了捕获组。