一个棘手的正则问题

deknight 2010-04-26 10:06:54
<COMPANY_NAME>AAAAAAAAA<TITLE>BBBBBBB<COMPANY_INDUSTRY>CCCCCCC<TYPE>DDDDDDD<SUBTYPE>EEEEEEEEE

我要取到 AAAAAA BBBB CCCCC DDDDD EEEEE 这些字符串
但是有个问题,就是
<COMPANY_NAME>
<TITLE>
<COMPANY_INDUSTRY>
<TYPE>
<SUBTYPE>
这几个标签,不一定哪个就不存在,也就是它有可能是这种情况:
<TITLE>BBBBBBB<COMPANY_INDUSTRY>CCCCCCC<TYPE>DDDDDDD<SUBTYPE>EEEEEEEEE
<COMPANY_NAME>AAAAAAAAA<COMPANY_INDUSTRY>CCCCCCC<TYPE>DDDDDDD<SUBTYPE>EEEEEEEEE
<COMPANY_NAME>AAAAAAAAA<TITLE>BBBBBBB<COMPANY_INDUSTRY>CCCCCCC<TYPE>DDDDDDD
等等情况
该如何拿到我要的字符串呢?
求高人帮忙.
...全文
93 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
deknight 2010-04-27
  • 打赏
  • 举报
回复
多谢,都正确,结
deknight 2010-04-27
  • 打赏
  • 举报
回复
多谢两位,昨天晚上忙其他事情搞的比较晚,没来得及看,我先去试下
-过客- 2010-04-26
  • 打赏
  • 举报
回复
只要把标签后的内容取出就行,还是要同时取得对应关系?

前者
            Regex reg = new Regex(@"<[^>]*>([^<>]+)");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups[1].Value + "\n";
}


后者
            Regex reg = new Regex(@"(?i)(?!$)(<COMPANY_NAME>(?<NAME>[^<>]*))?(<TITLE>(?<TITLE>[^<>]*))?(<COMPANY_INDUSTRY>(?<INDUSTRY>[^<>]*))?(<TYPE>(?<TYPE>[^<>]*))?(<SUBTYPE>(?<SUBTYPE>[^<>]*))?");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups["NAME"].Value + "\n";
richTextBox2.Text += m.Groups["TITLE"].Value + "\n";
richTextBox2.Text += m.Groups["INDUSTRY"].Value + "\n";
richTextBox2.Text += m.Groups["TYPE"].Value + "\n";
richTextBox2.Text += m.Groups["SUBTYPE"].Value + "\n";
}
兔子-顾问 2010-04-26
  • 打赏
  • 举报
回复
笔误,上面的错了一个符号。

string yourStr = "<COMPANY_NAME>AAAAAAAAA<TITLE>BBBBBBB<COMPANY_INDUSTRY>CCCCCCC<TYPE>DDDDDDD<SUBTYPE>EEEEEEEEE";
MatchCollection mc = Regex.Matches(yourStr, "(?<=>)[^<]+(?=<|$)");
foreach (Match m in mc)
{
MessageBox.Show(m.Value);
}
兔子-顾问 2010-04-26
  • 打赏
  • 举报
回复
MatchCollection mc = Regex.Matches(yourStr,"(?<=<)[^<]+(?=<)")
foreach(Match m in mc)
{
MessageBox.Show(m.Value);
}

110,534

社区成员

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

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

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