<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的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)