谁能写个正则表达式程序分解出组名或组号及其该组的正则表达式?

金将军-金涨嵉 2006-10-23 06:15:05
比如正则表达式
(?<a>a(?<b>b)(c))(?<d>d)

能够分解得到
组1 (c)
组a (?<a>a(?<b>b)(c))
组b (?<b>b)
组d (?<d>d)
...全文
159 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jetxia 2006-10-24
  • 打赏
  • 举报
回复
纯顶
  • 打赏
  • 举报
回复
@petshop4(什么都不会 正则刚够60分)
怎样作 ?
petshop4 2006-10-24
  • 打赏
  • 举报
回复
测试数据
(?<a>a(?<b>b)(c))(?<d>d)
正则:\([a-z]\)
结果:
*******************
(c)
正则:\(\?<([a-z])>[^(]*?\)
结果:
*******************
(?<b>b)
*******************
(?<d>d)
正则:\(\?<([a-z])>.*?(?:\(.*?\))+.*?\)
结果:
*******************
(?<a>a(?<b>b)(c))

petshop4 2006-10-24
  • 打赏
  • 举报
回复
我也想弄个出来 每次我的正则测试程序都是显示组1组2的
弄不出名字来 十分不爽
  • 打赏
  • 举报
回复
其实我是想做成通用的,不仅是单单适用这个正则表达式,不过也给了一些提示,再研究一下。
petshop4 2006-10-24
  • 打赏
  • 举报
回复
怎样作 ?
=========
什么意思?
我的做法是要用3个正则表达式分别匹配
1个正则难度挺大
flowersea312 2006-10-24
  • 打赏
  • 举报
回复
帮顶
股神 2006-10-23
  • 打赏
  • 举报
回复
up
winner2050 2006-10-23
  • 打赏
  • 举报
回复
参考
string pattern = @"<TW:TopWeekDown\s*Top\s*=\s*(\d*?)[\s]Title\s*=\s*(\d*?)\s*>([\S\s]*?)</TW:TopWeekDown>";


Match match = new Regex(pattern, RegexOptions.IgnoreCase).Match(InPutMode);
match.Groups[**].Value ;
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-23 06:15
社区公告

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