RegEx, чтобы соответствовать и выбрать конкретные URL - PullRequest

Ответы [ 3 ]

2 голосов
/ 10 мая 2019

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

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

Возможно, это также подойдет для вашего языка: ^https?://flyheight\.com/videos/[a-z0-9]{6}$

1 голос
/ 10 мая 2019

Я не слишком уверен, что это то, что вы искали, но вы можете использовать следующее:

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

Идея состоит в том, что он будет соответствовать первой части, которая у вас была, а затем соответствуетодин или несколько символов, которые не являются косой чертой ([^/]+).

Если у вас были строки, которые могут содержать или не содержать / на конце (например, у вас было https://flyheight.com/videos/yb24os или https://flyheight.com/videos/yb24os/),, вы можете попробовать следующее:

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

вот мои результаты по регулярному выражению.

included testing sample if asked

0 голосов
/ 10 мая 2019

Это простое выражение может сделать это, поскольку все ваши желаемые выходные данные начинаются с y:

\/(y.*)

Однако, если вы хотите добавить к нему дополнительные границы, вы можетеСделай так.Например, this усилит левую границу:

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

Или вы можете добавить список символов, подобный this :

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

Вы также можете добавить квантификатор к желаемому результату, аналогично этому выражению :

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

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

enter image description here

Возможно, вы захотите использовать этот инструмент и изменять / редактировать / модифицировать свое выражение в зависимости от желаемого движка, так как выwish:

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

Этот график показывает, как это работает, и вы можете проверить больше выражений здесь :

enter image description here

...