c#正则表达式

来源:百度知道 编辑:UC知道 时间:2024/07/07 05:38:03
string s=a:100,abcde,kkk,a:200,tt,mm
如何在字符串s中把a:100和a:200找出来,并赋值给数组

高手帮忙 +分
会很长,不止用数字匹配。要的东西有数字也有字母,不能只针对数字。有什么方法么

@"uid":(?<uid>[\s\S]*?)," 用这个正则
修改下<uid> 这个是重命名 可以修改
"uid" 是搜索的字符串的开始 ,是结束

说详细点
你要找出来的形式 是字母:数字么?

观察了一下你的字符串,感觉不需要正则表达式也可以达到你的目的。先用Split函数按“,”把s分解为几个字符串赋值到一个字符串数组。然后遍历该字符串数组的每一项,用IndexOf函数判断其中是否存在“:”,若存在则赋值到一个新的字符串数组。这个新的字符串就是你要的结果。

我不太清楚你想要捕获什么部分? 是冒号后面的 还是什么?

MatchCollection mc;
Regex reg = new Regex("(a:[1,2]00)+");
string str = "a:100s #$sdfsa:200 dfsVkdslfjaejldfncvkadjfsljf2343u4op3OUIIKK4444444####oknknk$nm<wnA:100a:100sdf";
mc = reg.Matches(str);
for (int i = 0; i < mc.Count; i++)
{
Console.WriteLine("Begin POS:" + mc[i].Index.ToString());
Console.Write("value:"+mc[i].Value);
Console.WriteLine();
}