我正在尝试从HTML中提取某些URL(例如,所有以http开头,包含/ tempfiles /并以.jpg结尾的URL)。我有类似的东西
http.*?\/tempfiles\/.*?\.jpg
问题是当我有类似HTML的内容时
blah blah <img src=http://somelink/file.html>http://server/tempfiles/blah.jpg
blah blah
它返回http://somelink/file.html etc
more junk http://server/tempfiles/blah.jpg
有没有办法说第一个和/ tempfiles /之间不能有第二个http?
答案 0 :(得分:2)
您可以使用
http(?:(?!http).)*?/tempfiles/.*?\.jpg
详细信息
http
-一个http
子字符串(?:(?!http).)*?
-除换行符以外的任何字符,重复次数为0或更多,且重复次数越少越好,这不会启动http
字符序列/tempfiles/
-文字子字符串.*?
-除换行符外的任何0+个字符,应尽可能少\.jpg
-一个.jpg
子字符串。