我写了一个正则表达式 取图片的地址
如下
1 string a = @"<img src='http://localhost:3529/c.net/jquery-easyui-1.3.1/themes/icons/back.png' />"; 2 Match mc = Regex.Match(a, @"<img[ ]*[^>]*src=(['""][^'""]+['""][^>]*)>", RegexOptions.ExplicitCapture | RegexOptions.Multiline | RegexOptions.IgnoreCase); 3 if (mc.Groups.Count>1) 4 { 5 //do something 6 }
我想取 http://localhost:3529/c.net/jquery-easyui-1.3.1/themes/icons/back.png 就是单引号里面的内容,但是怎么都取不到,mc.Groups.Count永远都等于1。。。难道我正则写的有问题?
我调试时:
mc.Groups[0].Value=<img src='http://localhost:3529/c.net/jquery-easyui-1.3.1/themes/icons/back.png' />,即取到了整个a
但是
mc.Groups[0].Value一直取不到。。。。求助求助,非常感谢!
你是.net下吧?我这里没有,我用js给你写一个
代码如下:
var str="\"<img src='http://localhost:3529/c.net/jquery-easyui-1.3.1/themes/icons/back.png' />\""; var regx=/<img\s+src\s*=\s*'([^']*)'\s*\/>/g;var result=regx.exec(str); //data="http://localhost:3529/c.net/jquery-easyui-1.3.1/themes/icons/back.png" var data=result[1];
你括号里面的表达式有错误,我这里用\s代表空格,js支持这种方式,你改一下,有错再mi我