Text:
1,2,3,4,5,6
Regex:
(?<num>\d+,)+(?<num>\d+)
-------------------------------------
er...这就是我的问题了。num分组重复的在正则表达式中出现,事实上,都合并在一个分组了,没仔细了解过。这是否是分组的特性?以前居然不知道。
如果正则看不太明白我说的问题,那上代码string test = "1,2,3,4,5,6";
Match m = Regex.Match(test, @"((?<num>\d+),)+(?<num>\d+)");
foreach (Capture c in m.Groups["num"].Captures)
{
Console.WriteLine(c.Value);
}
//输出
/*
1
2
3
4
5
6
*/这里num命名组实际上有2个分组同名了,结果就一起输出了?如果这样,岂不是可以:test:
1,2,3words
Regex:
((?<num>\d+),)+(?<num>\d+)(?<num>[a-z]+)string test = "1,2,3words";
Match m = Regex.Match(test, @"((?<num>\d+),)+(?<num>\d+)(?<num>[a-z]+)");
foreach (Capture c in m.Groups["num"].Captures)
{
Console.WriteLine(c.Value);
}
//输出
/*
1
2
3
words
*/
这样是.net正则的特性么?要说哪里用到了么。我贴个连接:
http://topic.csdn.net/u/20100701/12/aa0a949a-837e-4839-acb6-6ec0f7900ba4.html?31475
1,2,3,4,5,6
Regex:
(?<num>\d+,)+(?<num>\d+)
-------------------------------------
er...这就是我的问题了。num分组重复的在正则表达式中出现,事实上,都合并在一个分组了,没仔细了解过。这是否是分组的特性?以前居然不知道。
如果正则看不太明白我说的问题,那上代码string test = "1,2,3,4,5,6";
Match m = Regex.Match(test, @"((?<num>\d+),)+(?<num>\d+)");
foreach (Capture c in m.Groups["num"].Captures)
{
Console.WriteLine(c.Value);
}
//输出
/*
1
2
3
4
5
6
*/这里num命名组实际上有2个分组同名了,结果就一起输出了?如果这样,岂不是可以:test:
1,2,3words
Regex:
((?<num>\d+),)+(?<num>\d+)(?<num>[a-z]+)string test = "1,2,3words";
Match m = Regex.Match(test, @"((?<num>\d+),)+(?<num>\d+)(?<num>[a-z]+)");
foreach (Capture c in m.Groups["num"].Captures)
{
Console.WriteLine(c.Value);
}
//输出
/*
1
2
3
words
*/
这样是.net正则的特性么?要说哪里用到了么。我贴个连接:
http://topic.csdn.net/u/20100701/12/aa0a949a-837e-4839-acb6-6ec0f7900ba4.html?31475
解决方案 »
- winform 上传文件时对话框中实现多选问题
- int.toString()会进行装箱操作吗
- List.sort(泛型 Comparison)出现stack overflow
- 一个winapp_sms.exe,有那么多config,有什么作用?
- 控件加载时,先显示一个黑色的背景,然后显示控件
- treeview 形成树状问题。
- 大家请畅所欲言,共同来讨论在Winform下要提取SQL中的大量数据时,是分页提取,还是分页显示的问题.最好有代码解释,谢谢...
- C# Winform 读取自定义二进制文件动态生成导航树
- 如何在WPF 3d图像中显示一条直线
- 新手请教大家一个有关webbrowser的小问题,谢谢。
- 请高手帮忙
- 高手快来了。一个关于dll封装问题。。。。
1,
2,
3,
4,
5,
6
((?<num>\d+),)+(?<num>\d+) 或者((?<num>\w+),)+(?<num>\w+)
这样组num里面输出的才是
1
2
3
4
5
6