如何用正则匹配绝对地址的图片格式
现在用的是Regex reg = new Regex( "IMG[^ >]*?src\\s*=\\s*(?:\ "(? <1 >[^\ "]*)\ " ¦ '(? <1 >[^\ ']*) ') ", RegexOptions.IgnoreCase);
可以匹配绝对地址图片 比如 src= "c:/img/test.gif "
和相对地址 src= "img/test.gif "
我现在想用一个表达式 只匹配绝对地址的。
只匹配 src= "c:/img/test.gif " 但不匹配src= "img/test.gif "
谁能提供一个.
环境:asp.net c#
只要是图片格式而且双引号里面包括 ":" 这个符号,因为文件不能用 ":" 这个符号有":"就说明肯定是绝对地址了. --------------------编程问答-------------------- Regex reg=new Regex(@"<img\s+src=[""|'']?(.*?[^:])[""|'']?.*?>",RegexOptions.IgnoreCase); --------------------编程问答--------------------
--------------------编程问答-------------------- 谢谢。我回去测试下。
Regex reg=new Regex(@"<img\s+src=[""|'']?(.*?[^:])[""|'']?.*?>",RegexOptions.IgnoreCase);
[^:]是表示一定要含有 : 这个符号? --------------------编程问答-------------------- 为什么我测试没有用啊。 --------------------编程问答--------------------
http://topic.csdn.net/u/20071030/14/0ad69b0a-3244-4336-aa33-d1c657a3d888.html?seed=410965735 --------------------编程问答-------------------- 顶一下。期待中 --------------------编程问答--------------------
表示没有这个符号 --------------------编程问答-------------------- 我关心什么是lz的“绝对地址”,果然,怎么出现了“c:”之类的呢?! --------------------编程问答-------------------- 我也奇怪...网页中C:\...\1.jpg是有效的图片路径么? --------------------编程问答--------------------
web居然写本地地址。
估计就是发现这样不对,才要正则来替换的。
Regex regExp = new Regex(@"(?is)(?<=<img.+?src[^=]*=[^"]*")[a-z]:[^"]+", RegexOptions.Compiled);
//或
//Regex regExp = new Regex(@"(?is)(?<=src[^=]*=[^"]*")[a-z]:[^"]+", RegexOptions.Compiled);
MatchCollection mc = regExp.Matches(html);
foreach(Match m in mc)
{
m.Value;
}
补充:.NET技术 , ASP.NET