2010-06-18 2 views
0

Если бы я имел HTML строку, содержащую это где-то в середине этого:Regex группа захвата проблемы

<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 

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

ответ

4

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

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

Пожалуйста, см why you shouldn't be trying this

Во всяком случае, попробовать (?<imgName>.*?) вместо этого..

+0

Я знаю, я читал это. Чистое произведение искусства. –

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