2012-01-11 2 views
0

Учитывая это в качестве входных данных:регулярное выражение для создания имени файла из образа альт тег

<IMG alt="Just do it." src="http://25.media.moo.com/moo_kjasdf0nd_500.jpg"> 

Как я могу получить в качестве выхода:

Just-do-it.jpg 
+0

Это приложение, которое позволяет регулярных выражений-х .... я могу тянуть несколько переменных поместив вокруг них круглые скобки, затем соедините их как $ 1 $ 2 и т. д. – Eric

ответ

1

Вот решение с использованием ре Питона:

>>> import re 
>>> input = '''<IMG alt="Just do it." src="http://25.media.moo.com/moo_kjasdf0nd_500.jpg">''' 
>>> pattern = '''.*alt="([^"]*).*src=".*([.][^.]+)"''' 
>>> re.match(pattern,input).groups() 
('Just do it.', '.jpg') 
>>> 

Я оставлю сборку деталей в качестве упражнения :)

+0

Спасибо, хотя я хотел бы заменить регулярное выражение на пробелы на a - – Eric

+0

Это проще сделать с помощью строковой операции, чем в регулярном выражении, по крайней мере, в Python , –

1

Я думаю, что регулярное выражение не является необходимым для этого.

Просто проанализируйте строку в правильном направлении.

  1. Сначала удалите «<», '>' и имя тега.
  2. Затем разделите оставшиеся пробелы.
  3. Разделите каждую часть на '=', чтобы получить имена и значения атрибутов.
  4. Затем найдите те, у которых есть имена атрибутов «alt» и «src», затем объедините их значения, чтобы получить имя файла.
Смежные вопросы