正则表达式以匹配并选择特定的URL

时间:2019-05-10 17:36:31

标签: regex url regex-lookarounds regex-group regex-greedy

我正在使用这些URL的网站上

df2

我需要一个RegEx,它将只选择这些URL

https://flyheight.com/videos/ybb347
https://flyheight.com/videos/yb24os
https://flyheight.com/public/images/videos/793f77362f321e62c32659c3ab00952d.png
https://flyheight.com/videos/5o6t98/#disqus_thread

这是我到目前为止得到的https://flyheight.com/videos/yb24os https://flyheight.com/videos/ybb347

3 个答案:

答案 0 :(得分:2)

PCRE:^https?:\/\/flyheight\.com\/videos\/[a-z0-9]{6}$

https://regex101.com/r/vM31MK/1

也许这也将适用于您的语言: ^https?://flyheight\.com/videos/[a-z0-9]{6}$

答案 1 :(得分:1)

我不太确定这是否是您要找的东西,但是您可以使用以下内容:

^(?!images$).*(flyheight.com/videos/)([^/]+)$

这个想法是,它将匹配您拥有的第一部分,然后匹配一个或多个不是斜杠([^/]+)的字符。

如果您的字符串结尾可能包含或不包含/(例如,您有https://flyheight.com/videos/yb24oshttps://flyheight.com/videos/yb24os/),则可以尝试以下操作:

^(?!images$).*(flyheight.com/videos/)([^/]+)/?$

here are my results on regexr.

included testing sample if asked

答案 2 :(得分:0)

This simple expression可能会这样做,因为所有所需的输出都以y开头:

\/(y.*)

但是,如果您希望为其添加其他边界,则可以这样做。例如,this将加强左边界:

flyheight.com\/videos\/(y.*)

或者您可以添加一个类似于this的字符列表:

flyheight.com\/videos\/([a-z0-9]+)

您还可以向所需的输出添加量词,类似于this expression

flyheight.com\/videos\/([a-z0-9]{6})

,您可以简单地增加和添加所需的任何边界并捕获所需的URL,然后使其他URL失效。

enter image description here

您可能想使用this tool并根据需要根据需要的引擎更改/编辑/修改表达式:

^(.*)(flyheight.com\/videos\/)([a-z0-9]{6})$

该图显示了它的工作方式,您可以测试更多的表达式here

enter image description here