请问一个正则问题:匹配含有指定字符的。

aliyiyi 2005-01-10 03:39:41
对“<td>abc</td><td></td><td>ww<b>xyz</b>dd</td>”这个字符串用正则取“<td>ww<b>xyz</b>dd</td>”这个部分,但是匹配的却是全部字符。就是说我想匹配含有“xyz”字符的“<td>”,请大家帮忙,指教一下!
...全文
154 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
LoveCherry 2005-01-11
  • 打赏
  • 举报
回复
.................
mobydick 2005-01-11
  • 打赏
  • 举报
回复
-_-!!老大都来了,我就不说了。
saucer 2005-01-10
  • 打赏
  • 举报
回复
try

string Str = "<td>abc</td><td></td><td>ww<b>xyz</b>dd</td>";
Regex re = new Regex("<td>(?>xyz(?<CON>)|<td>(?<TDS>)|.)*(?(CON)|(?!))(?(TDS)(?!))</td>");
Match m = re.Match(Str);
if (m.Success)
Console.WriteLine(m.Value);
xinbuzailiulei 2005-01-10
  • 打赏
  • 举报
回复
string oString="<td>abc</td><td></td><td>ww<b>xyz</b>dd</td><tbody><tr> <td height=57> <font color=#ffffff> <iframe></iframe></font></td> </tr>";
string oRegStr=@"\<td\>[^\<]+(\<(?(?=\/td\>)|[^\<]*))+\/td\>";
string oTestString="xyz";
Regex oReg=new Regex(oRegStr);
Regex oReg2=new Regex(oTestString);
Match oMatch=oReg.Match(oString);
string isStr="";
while(oMatch.Success){

if(oReg2.Match(oMatch.Groups[0].Value).Success){
isStr+=oMatch.Groups[0]+"\n";
}
oMatch=oMatch.NextMatch();

}
MessageBox.Show(isStr);
mobydick 2005-01-10
  • 打赏
  • 举报
回复
把原始的字符串贴出来,然后说你想得到什么。
aliyiyi 2005-01-10
  • 打赏
  • 举报
回复
我原来想过用:“<td[^>]*>(?!.*?<td>)xyz.*?</td>”也还是不行!
谁能告诉我怎么样才能取到“<td>ww<b>xyz</b>dd</td>”
aliyiyi 2005-01-10
  • 打赏
  • 举报
回复
我要的结果是“<td>ww<b>xyz</b>dd</td>”,里面有个包含指定字符的字符串,里面字符串很多,不是很有规则,如:“<tbody><tr> <td height=57> <font color=#ffffff> <iframe></iframe> </font></td> </tr>”。

我想搞得通用性好点。我用“<td[^>]*>.*?xyz.*?</td>”这个就是不行。
whidy 2005-01-10
  • 打赏
  • 举报
回复
这个在MSDN中详细描述
kong19 2005-01-10
  • 打赏
  • 举报
回复
up
mobydick 2005-01-10
  • 打赏
  • 举报
回复
<td>[^<>]+<b>

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧