正则表达式提取全在一起了,怎么分开

xloveme 2014-01-08 04:26:18
比如有文本:

asdgasgd
HH<这里可以插入任意字符串 1》HH
89066asgiohiuh98y23476
HH<这里可以插入任意字符串 2》HH
uh89yg987t7



定义正则表达式: HH[\d\D]*HH,预期想要得到的结果是(包含两个结果):
HH<这里可以插入任意字符串 1》HH
HH<这里可以插入任意字符串 2》HH

但是,事与愿违,得到的结果是(只包含一个结果):
HH<这里可以插入任意字符串 1》HH
89066asgiohiuh98y23476
HH<这里可以插入任意字符串 2》HH


请问,该怎么处理才能得到预期效果呢? 谢谢!!!
...全文
159 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
熊熊大叔 2014-01-08
  • 打赏
  • 举报
回复
HH(.)*HH
xloveme 2014-01-08
  • 打赏
  • 举报
回复
Return_false 果然是喜欢正则的不一样啊,搞定了 谢谢!!!!!!!!
  • 打赏
  • 举报
回复
正则 修改为 HH[\d\D]*?HH
wayu002 2014-01-08
  • 打赏
  • 举报
回复
(?<=HH).*(?=HH)
xloveme 2014-01-08
  • 打赏
  • 举报
回复
哎呦,楼上的大哥啊。 HH。。。HH 这中间全部是“任意字符”,每一组都有可能不同的,是不可预知的,没有那个“《》”的。 我只是为了“注释说明”加了“《》”。 真有这东西,那还好办了
jiaoshiyao 2014-01-08
  • 打赏
  • 举报
回复
<.+》 这样貌似就可以实现了
jiaoshiyao 2014-01-08
  • 打赏
  • 举报
回复
引用 2 楼 xloveme 的回复:
感谢楼上漂亮姐姐的回复,不过妳似乎误会我的意思了。 <这里可以插入任意字符串 1》 的意思是,这里就是随便的任意字体,包括任意文字,任意行,任意数量。 并不局限于 “<。。。。》”这样的格式,而是这个整体“不可预知的任意字符串”。
他九成是个老爷们
xloveme 2014-01-08
  • 打赏
  • 举报
回复
感谢楼上漂亮姐姐的回复,不过妳似乎误会我的意思了。 <这里可以插入任意字符串 1》 的意思是,这里就是随便的任意字体,包括任意文字,任意行,任意数量。 并不局限于 “<。。。。》”这样的格式,而是这个整体“不可预知的任意字符串”。
欢乐的小猪 2014-01-08
  • 打赏
  • 举报
回复
string patern = @"HH<[\D]* \d+》HH";
            Regex regex = new Regex(patern);
            foreach (Match match in regex.Matches(@"asdgasgd
 HH<这里可以插入任意字符串 1》HH
 89066asgiohiuh98y23476
 HH<这里可以插入任意字符串 2》HH
 uh89yg987t7
"))
            {
                int i;
            }

110,549

社区成员

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

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

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