zihanlion - 2008-7-10 10:54:00
在pagenews.cs,public void Replace(string profile, string newstr, bool bIgnoreCase)函数
问题应该出在这,正则式不太好看^-^
string pattern = Regex.Escape(profile);这忽略一个问题,就是profile里有个[过滤字符串]中的'['是不需要转义的
string instead = newstr.Replace("$", "$$");
…………
例如在匹配:
<p align='center'><b>[过滤字符串]</b></p>
正常的表达式应该是:
(?<ch0><p\ align='center'><b>)[\s\S]+?(?<ch1></b></p>)[\s\S]+?
由于没注意这个问题,结果表达式变成了:
(?<ch0><p\ align='center'><b>\)[\s\S]+?(?<ch1></b></p>)[\s\S]+?
那个')'被转义了,程序就出错了。。。。
而且还有一个问题,本了我是要替换 过滤字符串 中的内容,他在</b></p>后也加上一个替换内容,估计问题在前边循环生成正则串的地,多生成了一个
cyxjq - 2008-7-10 11:00:00
恩!!!!!!!!!!!!!!!!!!!