检索所有可能的字符串匹配与字符串中的n个字符
问题描述:
基本上我想检索所有可能的字符串匹配与字符串中的n个字符,这是我的初始代码,但它只返回2个匹配。检索所有可能的字符串匹配与字符串中的n个字符
String input = "abc12345abcd";
Regex regex = new Regex(@"[A-Za-z]{3}"); //this will only return 2 matches
MatchCollection matches = regex.Matches(input);
我应该如何得到下面的使用正则表达式匹配?
abc
abc
bcd
这是可能的,如果不将LINQ帮助呢?
答
String input = "abc12345abcd";
Regex regex = new Regex(@"[A-Za-z]{3}");
int i=0;
while(i<input.Length){
Match m=regex.Match(input,i);
if(m.Success){
Console.WriteLine(m.Value);
i=m.Index+1; //just increment one char, instead of length of match string
}else break;
}
结果
abc
abc
bcd
This Works,thanks !!!!!!!!! – jerjer 2009-12-16 04:34:44
不客气! – YOU 2009-12-16 04:35:52
一个跟随的问题:如果我将有一个正则表达式[A-Za-z] {3,}如何得到像abc一样的结果abcd bcd – jerjer 2009-12-16 05:30:10