当前位置: 代码迷 >> 综合 >> C#正则表达式匹配连续相同字符,如...aaa..bbb...11111...2222...
  详细解决方案

C#正则表达式匹配连续相同字符,如...aaa..bbb...11111...2222...

热度:86   发布时间:2024-01-25 05:18:49.0

参考:https://blog.csdn.net/tao_sheng_yi_jiu/article/details/80366004

目的:匹配连续相同的3个数字或字母

string regExp = "(\\w)\1{2}";
//注意此处不要添加边界符号(^和$)
string str = "!@$#12aaa3444da33dddd@#$%%$#";
MatchCollection matchSet2 = Regex.Matches(str, regExp);
foreach (Match aMatch2 in matchSet2)
{Console.WriteLine(aMatch2.Groups[0].Captures[0]);
}
Console.ReadKey();// 探究regExp中\1和{2}的作用
// 设regExp ="(\\w)\n{2}";
/* \1作用
n=1, 匹配str中的aaa;
n=2, 匹配str中的444;
n=3, 匹配str中的ddd(前一个);
n=4, 匹配str中的ddd(后一个);
*/
/* {2}作用
regExp中{2}大括号里面的2代表和前面的字符重复的个数,比如aaa,就是和第一个a后面跟着2个重复的a
\\w相当于[a-zA-Z0-9]
*/