正则表达式..

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:34:52
Regex rData = new Regex(@"(?<=(<tr align=""center"">)).*?(?=(</tr>))", RegexOptions.Singleline);
已经可以取出我要的了,但是数据有点过多,我想在次基础上再做筛选,<tr align="center"></tr>标签中包含 "某某某" 这三个字的行,我试了
Regex rData = new Regex(@"(?<=(<tr align=""center"">)).*某某某.*(?=(</tr>))", RegexOptions.Singleline);还是不行 - -!
还有个替换的问题就是,
string clear = Regex.Replace(item.Value, "\\s*|\t|\r|\n", new MatchEvaluator(delegate(Match match)
{
return "";
}));
我想在这个基础上加上个替换</td><td>标签 ,我试了"\\s*|\t|\r|\n"改成"\\s*|\t|\r|\n|</td>.*<td>",也不可以,写委托是想判断如果是“</td>这里可能有其他的特殊字符<td>”替换成 , 号
是C#编写的,这里没有正则好点的嘛,我的目的就是用正则做些字符搜索啦,替换啦

如果你操作HTML的话,建议你用一个HTML DOM类库,比字符串准确还快速,配合Xpath绝对比用正则操作html文本强得多

像你这种的话,一个xpath表达式就可以了

\\tr[align='center'] 找出所有的node之后你可以给Text赋值,这不就达到替换的目的了

高难度问题啊。你的是VBS吗?

Regex rData = new Regex(@"(?<=(<tr align=""center"">)).*某某某.*(?=(</tr>))", RegexOptions.Singleline);

这个写法输出的是等于“某某某”的行,而不是包含“某某某”的行。

有可能是汉字编码的问题,你试试用英文字符"AAA"替代"某某某",以验证这个猜想。

.*?某某某.*?