Regex группа захвата проблемы - PullRequest
0 голосов
/ 19 июня 2010

Если бы где-то посередине была html-строка, содержащая это:

<img src="http://images.domain.com/Images/hello.jpg" alt="Failed to Load" />

Какое регулярное выражение я бы использовал, чтобы просто получить имя файла изображения?т.е. hello.jpg

В настоящее время я использую это:

(?<front>.*<img.*src="http://images.domain.com/Images/)(?<imgName>.*)"(?<end>.*)

Однако значение, которое он находит для группы imgName:

hello.jpg" alt="Failed to Load

Кто-нибудь знает, какэто исправить?

Ответы [ 2 ]

4 голосов
/ 19 июня 2010

Самое простое решение - сделать так, чтобы группа imgName соответствовала чему угодно, кроме кавычек, изменив. * На [^ "] *:

(?<front>.*<img.*src="http://images.domain.com/Images/)(?<imgName>[^"]*)"(?<end>.*)
2 голосов
/ 19 июня 2010

Пожалуйста, посмотрите , почему бы вам не попробовать это .

В любом случае, попробуйте (?<imgName>.*?) вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...