正则表达式匹配图片的src

正则表达式匹配图片的src,第1张

<img src="()"id=\\"DimSmallImg\\"

我怀疑id后面的\不是真正的属于字符串,只是转义 ,那正则就是这样<img src="()"id="DimSmallImg"

正则:查找Img标签开头的路径

[iI][mM][gG][\s][sS][rR][cC][\s]=[\s'"](<ref_value(\gif|\jpg|\png))

查找Function中的路径

[a-zA-Z_][a-zA-Z0-9_]+[\s]\([^)]+('|")(<ref_value[a-zA-Z0-9/\\-_\]+(\gif|\jpg|\png))('|")[^)]\)

查找background标签的路径

background="(<ref_value[^"]+)

查找URL的路径

:[\s]url[\s]\([\s"'](<ref_value["'][^)]+)通用的:("|')(<ref_value[^"']+(\gif|\png|\jpg))("|')

url\(['\"]\s(<ref_value[^]+)['\"]\s\)

Cimg[\d+][\s]\([\s"'](<ref_value[^"')]+)

"<img\b[^<>]\bsrc[\s\t\r\n]=[\s\t\r\n][""'][\s\t\r\n](<imgUrl>[^\s\t\r\n""'<>])[^<>]/[\s\t\r\n]>"

上面的引号中的内容就是正则表达式,用 C# 的正则表达式匹配 HTML 中的地址:

public static string[] GetHtmlImageUrlList(string sHtmlText)

{

// 定义正则表达式用来匹配 img 标签

Regex regImg = new Regex(@"<img\b[^<>]\bsrc[\s\t\r\n]=[\s\t\r\n][""'][\s\t\r\n](<imgUrl>[^\s\t\r\n""'<>])[^<>]/[\s\t\r\n]>", RegexOptionsIgnoreCase);

// 搜索匹配的字符串

MatchCollection matches = regImgMatches(sHtmlText);

int i = 0;

string[] sUrlList = new string[matchesCount];

// 取得匹配项列表

foreach (Match match in matches)

sUrlList[i++] = matchGroups["imgUrl"]Value;

return sUrlList;

}

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

//新建regexJsUtiljs文件

/

@Description:8、获取正则匹配目标字符串

@param fatherStr 源完整字符串 "this is test string <img src=\">

@param myreg 源子字符串格式(正则表达式)

(1)正则匹配img src,并获取匹配结果。(此处可匹配前三种)

myreg=/<(img|IMG)(>|\/>|><\/img>)/gi;

myreg=/<(img|IMG)src="\(jpg|gif|bmp|bnp|png)"(>|\/>|><\/img>)/gi;

(2)正则匹配src="文件路径",并获取匹配结果。(此处可匹配前三种)

myreg=/src=['"]([^'"])['"]/gi;

myreg=/src=['"]\(jpg|gif|bmp|bnp|png)['"]/gi;

myreg=/src=(['"][^'"]['"])/gi;//注意,此行正则得到的matchArr[1]不建议使用,有问题;具体可自行浏览器调试查看对比。

(3)正则匹配img src,并获取匹配结果。(此处可匹配四种)

myreg=/(<img|<IMG|\[img\])(>|\/>|><\/img>|\[\/img\])/gi;

myreg=/(<img|<IMG|\[img\])src="\(jpg|gif|bmp|bnp|png)"(>|\/>|><\/img>|\[\/img\])/gi;

@Remark:

以下4种img标签样式

<img alt="" src="static/file/tempFile/1jpg">

<img alt="" src="static/file/tempFile/2jpg"/>

<img alt="" src="static/file/tempFile/3jpg"></img>

[img]static/file/tempFile/4jpg[/img]

@debugger;

(2)正则匹配src="文件路径",并获取匹配结果。(此处可匹配前三种)

当正则匹配规则为 myreg=/src=(['"][^'"]['"])/gi;

执行右侧代码,并在浏览器控制台调试 if (matchArr[0] != '') {

// "src=>

var srcSonStr0=matchArr[0]replace("src=", "");

// ">

var srcSonStr1=matchArr[1];

strArrpush(srcSonStr1);

}

/

function getMatchTargetStr(){

var fatherStr="this is test string <img src=\">

var myreg=/(<img|<IMG|\[img\])(>|\/>|><\/img>|\[\/img\])/gi;

/###-正则匹配方式3,遍历源完整字符串,依次正则匹配,若匹配成功则返回匹配结果-###/

// 定义一个数组,用于存取正则匹配目标字符串

var wordArr = new Array();

wordArr=ergoticMyregFun3BackMatcherData(fatherStr,myreg);

consolelog("while循环遍历,得到正则替换后的"+wordArr);

consolelog(wordArr);

return wordArr;

}

/

@Description: 正则匹配方式3,遍历源完整字符串,依次正则匹配,若匹配成功则返回匹配结果

@param fatherStr 源完整字符串

@param myreg 源子字符串格式(正则表达式)

/

function ergoticMyregFun3BackMatcherData(fatherStr,myreg){

// 定义一个数组,用于存取正则匹配目标字符串

var strArr = new Array();

while(true){

var matchArr = myregexec(fatherStr);

if(matchArr){

for(var i=0;i<matchArrlength;i++){

consolelog("for循环遍历"+matchArr[i]);

}

consolelog(matchArrindex);

if (matchArr[0] != '') {

var srcSonStr=matchArr[1];

strArrpush(srcSonStr);

}

}else{

break;

}

}

return strArr;

}

以上就是关于正则表达式匹配图片的src全部的内容,包括:正则表达式匹配图片的src、怎么用正则表达式获取文章内容中的<img标签和 src的路径、正则表达式匹配img中src的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10096442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存