正则表达式匹配img中src的值

2024-12-29 12:37:03
推荐回答(5个)
回答1:

"]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>"
上面的引号中的内容就是正则表达式,用 C# 的正则表达式匹配 HTML 中的图片地址:
public static string[] GetHtmlImageUrlList(string sHtmlText)
{
// 定义正则表达式用来匹配 img 标签
Regex regImg = new Regex(@"]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);

// 搜索匹配的字符串
MatchCollection matches = regImg.Matches(sHtmlText);

int i = 0;
string[] sUrlList = new string[matches.Count];

// 取得匹配项列表
foreach (Match match in matches)
sUrlList[i++] = match.Groups["imgUrl"].Value;

return sUrlList;
}

该方法返回一个字符串数组,存放的就是从 sHtmlText 字符串中取得的图片地址列表。

回答2:

正则为:

Groups[1].Value的值就是需要的。
或者直接Match匹配的话可以这样写:
(?<=img.*?src=")[^"]+(?=")

回答3:

var data=''
var re=/]* src=(['"])(.*?)\1[^>]*>/i //正则表达式
if(re.test(data))alert(data.match(re)[2])

回答4:

/
preg_match('', '', '');

回答5:

string regex="src=\"([\\W\\w]*?)\"/> ";