下面是字符串
<IMG style="HEIGHT: 92px; WIDTH: 380px" src="index_files/63877218.jpg" width=145 height=63>
<IMG src="index_files/63882078.jpg">
<P>不要换此处1<IMG src="index_files/63434234.png"></P>
要将前2行中的index替换成 字符 我的文件夹
正确效果是这样的:
<IMG style="HEIGHT: 92px; WIDTH: 380px" src="我的文件夹_files/63877218.jpg" width=145 height=63>
<IMG src="我的文件夹_files/63882078.jpg">
<P>不要换此处1IMG src="index_files/63434234.png"></P>
最好是C#语言
同时 下面的字符串同时存在才替换
<IMG
src="
_files/
”
完整的 字符串
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE>未命名</TITLE> <META content="text/html; charset=unicode" http-equiv=Content-Type> <META name=GENERATOR content="MSHTML 11.00.9600.16384"></HEAD> <BODY>
<P>图片1<IMG src="index_files/63434234.png"></P>
<P>
<IMG style="HEIGHT: 177px; WIDTH: 522px" src="index_files/212445468.jpg" width=208 height=153>
</P> <P> </P> <P>干扰字符串</P> <DIV> <IMG src="index_files\63882078.jpg"> </DIV>
<P>片2 <IMG style="HEIGHT: 204px; WIDTH: 320px" src="index_files/63429593.png" width=76 height=62></P>
<P> </P> <P> </P> <P> </P> <P> </P></BODY></HTML>
这看上去有4个链接实际上只有2个是正确的 还有2个只是字符串
string.replace("index"," 我的文件夹"),么有复杂到用正则吧
string.replace("src=""index_files/", ", " src=""i我的文件夹_files/")
直接替换的话 第三项也被替换了(不准确 正则表达式准确)
<IMG style="HEIGHT: 92px; WIDTH: 380px" src="index_files/63877218.jpg" width=145 height=63>
<IMG src="index_files/63882078.jpg">
<P>不要换此处1 IMG src="index_files/63434234.png"></P>
@XE2011: 你的干扰字符串有啥特征呢?用正则式也要知道特征才行啊
@刘宏玺: 很明显我提供的字符是 HTML源码 而我这个特征就是
在HTML中它是实际上只是字符串, 如<P>不要换此处1 IMG src="index_files/63434234.png"></P>
不是一个有效的 IMG链接 如 <IMG src="index_files/63882078.jpg">
仔细看少个 <符号
<img\s*?[^>]*?src="([^"]+?)_files[^"]+"(?:[^>]*)?>
你的匹配出正确的IMG链接来了 怎么把INDEX换掉呢
@XE2011:
仔细看我写给你的正则,要替换的值已经放到groups里面了
@袁家小黑球: 看不懂正则表达式
@XE2011:
建议去学习一下,很简单的