求一正则表达式,多谢

redleaf80 2008-11-19 08:58:51
需要对字符串做解析,字符串格式如下:
[Error] MainFrm.cs(30) Internal Error: Incapable type 'string' and 'char'

需要得到的字符串数组:
Error
MainFrm.cs
30
Internal Error: Incapable type 'string' and 'char'

请各位大侠帮帮忙,谢谢!
...全文
64 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuhaozx 2008-11-19
  • 打赏
  • 举报
回复
学习
redleaf80 2008-11-19
  • 打赏
  • 举报
回复
搞定,多谢兄弟。你的代码没有问题,刚才我弄错了。谢谢
止戈而立 2008-11-19
  • 打赏
  • 举报
回复
怎么不行呢?
如果是有很多类似的信息的话,要用:
Regex reg=new Regex(@"(?i)\[([^]]*)\]\s*([a-z\.0-9]*)\s*\(([^\)]*)\)\s*:\s*(.*)");
ArrayList list=new ArrayList();
foreach(Match m in reg.Matchs("你的字符串"))
{
list.Add(m.Group[1].Value);
list.Add(m.Group[2].Value);
list.Add(m.Group[3].Value);
list.Add(m.Group[4].Value);
}
redleaf80 2008-11-19
  • 打赏
  • 举报
回复
是的,多谢兄台相助。
我的意图是将文本文件中的这类信息提取到xml文件中。但试了上面的代码好像不行。

文本文件中的行:
[Error] MainFrm.pas(30): Invalid type capable: string and pansichar

xml的格式如下:
<?xml version="1.0" encoding="utf-8" ?>
<Info>
<Message Type="Error">
<FileName>MainFrm.pas</FileName>
<LineNo>30</LineNo>
<MsgInfo>Invalid type capable: string and pansichar</MsgInfo>
</Message>
</Info>
因此,从文本文件中读取行后进行分析,然后将信息写到xml文件中来

上面那个[Error] MainFrm.pas(30): Invalid type capable: string and pansichar都有空格。
止戈而立 2008-11-19
  • 打赏
  • 举报
回复
Regex reg=new Regex(@"(?i)\[([^]]*)\]\s*([a-z\.0-9]*)\s*\(([^\)]*)\)(.*)");
ArrayList list=new ArrayList();
Match m=reg.Match("你的字符串");
list.Add(m.Group[1].Value);
list.Add(m.Group[2].Value);
list.Add(m.Group[3].Value);
list.Add(m.Group[4].Value);

楼主要的是这个吗?
止戈而立 2008-11-19
  • 打赏
  • 举报
回复
上面错了:
(?i)\[([^]]*)\]\s*([a-z\.0-9]*)\s*\(([^\)]*)\)(.*)
止戈而立 2008-11-19
  • 打赏
  • 举报
回复
\[([^]]*\)]\s*([a-z\.0-9]*)\(([^\)]*)\)\s*(.*)

110,571

社区成员

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

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

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