请教C#下一个多行正则的问题

hometohome 2009-04-27 05:02:08
多行文本如下:
<br />
<b>Notice</b>: Undefined index: HTTP_USER_AGENT in <b>/include.php</b> on line <b>42</b><br />
<br />
<b>Notice</b>: Undefined index: HTTP_USER_AGENT in <b>/include.php</b> on line <b>43</b><br />
<?xml version="1.0"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
。。。省略若干代码。。。

请问我如何删掉<?xml version="1.0"?>以上的部分?

[必结贴送分,谢谢了]
...全文
119 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2009-04-27
  • 打赏
  • 举报
回复
为什么都要先匹配一次再替换呢?直接替换就是了
另外这种需求一定要加“^”,因为.NET的正则引擎对“^”做了优化,从开始位置匹配,无论第一次匹配成功还是不成功,都不会继续尝试匹配,可以有效的提升效率
string result = Regex.Replace(yourStr, @"^(?:(?!<\/xml)[\s\S])*(?=<\?xml\s+version=""1.0""\?>)", "", RegexOptions.IgnoreCase);

蓝海D鱼 2009-04-27
  • 打赏
  • 举报
回复
都可以
蓝海D鱼 2009-04-27
  • 打赏
  • 举报
回复
这个才可以

string sDetail = "<b>Notice </b>: Undefined index: HTTP_USER_AGENT in <b>/include.php </b> on line <b>42 </b>\r\n<b>Notice </b>: Undefined index: HTTP_USER_AGENT in <b>/include.php </b> on line <b>43 </b>\r\n<?xml version=\"1.0\"?> <rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">";
Regex r;
Match m;
r = new Regex(@"([\s\S]*)(?=<\?xml version=""1.0""\?>)", RegexOptions.Multiline);
m = r.Match(sDetail);
sDetail = sDetail.Replace(m.Groups[1].ToString(), "");
Console.Write(sDetail);
Console.Read();
HDNGO 2009-04-27
  • 打赏
  • 举报
回复
string sDetail = "<b>Notice </b>:  Undefined index:  HTTP_USER_AGENT in <b>/include.php </b> on line <b>42 </b>\r\n<b>Notice </b>:  Undefined index:  HTTP_USER_AGENT in <b>/include.php </b> on line <b>43 </b>\r\n<?xml version=\"1.0\"?> <rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">";
Regex r;
Match m;
r = new Regex(@"([\s\S]*)<\?xml version=""1.0""\?>([\s\S]*)", RegexOptions.Multiline);
m = r.Match(sDetail);
sDetail = sDetail.Replace(m.Groups[1].ToString(), "");
Console.Write(sDetail);
Console.Read();
HDNGO 2009-04-27
  • 打赏
  • 举报
回复
([\s\S]*)<\?xml version=""1.0""\?>([\s\S]*)
hometohome 2009-04-27
  • 打赏
  • 举报
回复
补充:<?xml version="1.0"?>以上的部分是不确定有什么的,也可能什么都没有

111,126

社区成员

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

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

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