正则表达式分离字符串

jyqxj 2012-03-10 07:44:08
从一个字符串中分离出
匹配
(aaa,aaa,aaa,aaa,aaa,aaa)

aaa表示小于3位数的整数
...全文
120 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2012-03-11
  • 打赏
  • 举报
回复
为什么不试?只提取6个元素的?

\(\d{1,3}(?:,\d{1,3}){5}\)
jyqxj 2012-03-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lxcnn 的回复:]
2楼正则是否满足需求
[/Quote]
没有试过
\(\d{1,3}(?:,\d{1,3})*\)
看不是很懂

举例
aaaaaaaaaaaa(22,33.dd)bbbb(1,12,134,15,254,251)dds(112,33,44,1)
就是提取这个(1,12,134,15,254,251)
jyqxj 2012-03-11
  • 打赏
  • 举报
回复

string r = @"(\(\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}\))";
string rt = "1111111111(12,22,1,17,164)11111(111,22,1,17,164,147)";
string[] str = Regex.Split(rt, r);
Regex re = new Regex(r, RegexOptions.IgnoreCase);
MatchCollection m = re.Matches(rt);
foreach (Match ma in m)
{
Group g = ma.Groups[0];

MessageBox.Show(ma.Groups.Count.ToString());
}


为什么我这样写,ma.groups.count会是2呢
jyqxj 2012-03-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lxcnn 的回复:]
为什么不试?只提取6个元素的?


C# code
\(\d{1,3}(?:,\d{1,3}){5}\)
[/Quote]

恩,只要刚好六6个的
-过客- 2012-03-10
  • 打赏
  • 举报
回复
2楼正则是否满足需求
jyqxj 2012-03-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lxcnn 的回复:]
需求描述不清,要提取?


C# code
\(\d{1,3}(?:,\d{1,3})*\)
[/Quote]
不好意思
是要提取
-过客- 2012-03-10
  • 打赏
  • 举报
回复
需求描述不清,要提取?

\(\d{1,3}(?:,\d{1,3})*\)
EnForGrass 2012-03-10
  • 打赏
  • 举报
回复
string pattern="\((aaa,){5}aaa\)";

111,126

社区成员

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

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

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