2014-01-16 4 views
0

У меня есть проблема, когда я пытаюсь получить (https://XXXXX.jpg)Regex для поиска JPG

Я использую этот формат: (https://.*.jpg) Однако это не найти то, что я хочу.

Он возвращает, например, (https://XXXXX.jpg <## Heading ##div> bla bla bla </div> bla bla https://XYZ .jpg)

StartsWith https, EndsWith jpg.

Что мне делать?

+4

Вы уверены, что они должны быть обратными косыми чертами? – Jerry

+0

Регулярное выражение, которое вы используете, похоже, находится, вы можете загрузить входную строку. \\ -> //? – michaeltang

ответ

2

Вам необходимо использовать символ неживого ?, чтобы он соответствовал тому, что вы хотите.

Так что ваше окончательное регулярное выражение будет https:\\\\.*?\.jpg

Смотрите эту regex101 link для дальнейшего объяснения.

Btw, как @Jerry отметил в комментариях, вы уверены, что они должны быть обратными косыми чертами, а не frontslashes?

0

Вы можете попробовать это:

(https.+\.jpg)\s 

Для:

(https:\\XXXXX.jpg <\div> bla bla bla <\div> bla bla https:\\XYZ .jpg) 

Это будет соответствовать:

https:\\XXXXX.jpg 

See it in action

0

Split на всю строку, а затем использовать петля, чтобы итерации splitt , каждый раз по сравнению с startswith("http" и endswith(".jpg")

Смежные вопросы