请教下正则表达式图片替换问题..
string from = @"(../)+(([_a-zA-Z0-9-]+/{1})*([a-zA-Z0-9]{1,}\.(jpg|gif|png)))";string to = @"http://www.anysite.com/images/$2";
string file = @" <img src=image/a.jpg/>sdf";
本来意思替换后为:
http://www.anysite.com/images/image/a.jpg
不过不知道为什么最后总是:
<img src=imahttp://www.anysite.com/images/a.jpg/>sdf
多出的 ima 三个字母不知道是怎么匹配上去的,而且我也限定必须有至少1个(../),结果还是匹配上了,所以请教各位高手指点下..谢谢 --------------------编程问答-------------------- lz用的是域名重写吗,可不可以只取后面的文件名?
--------------------编程问答-------------------- 搞那么多没用的捕获组做什么
string from = @"([a-zA-Z0-9]{1,}\.(jpg|gif|png))";
string to = @"http://www.anysite.com/images/$1";
string from = @"[^=/]+/([a-zA-Z0-9]+\.(?:jpg|gif|png))";
string to = @"http://www.anysite.com/images/$1";
string file = @" <img src=image/a.jpg/>sdf";
(../) .虽然能匹配除换行外的任意字符,但也只能是一个字符,所以这里一共匹配三个字符,也就是ge/,多出的 ima 三个字母是因为没匹配,所以保留下来了
补充:.NET技术 , C#