当前位置:编程学习 > C#/ASP.NET >>

如何用正则匹配绝对地址的图片格式

现在用的是 
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 --------------------编程问答-------------------- 顶一下。期待中 --------------------编程问答--------------------
引用 3 楼 lsfv001 的回复:
谢谢。我回去测试下。
[^:]是表示一定要含有 : 这个符号?

表示没有这个符号 --------------------编程问答-------------------- 我关心什么是lz的“绝对地址”,果然,怎么出现了“c:”之类的呢?! --------------------编程问答--------------------
引用 8 楼 sp1234 的回复:
我关心什么是lz的“绝对地址”,果然,怎么出现了“c:”之类的呢?!
我也奇怪...网页中C:\...\1.jpg是有效的图片路径么? --------------------编程问答--------------------
引用 8 楼 sp1234 的回复:
我关心什么是lz的“绝对地址”,果然,怎么出现了“c:”之类的呢?!




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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,