- 最后登录
- 2019-12-25
- 注册时间
- 2012-8-24
- 阅读权限
- 90
- 积分
- 71088
- 纳金币
- 52336
- 精华
- 343
|
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Text.RegularExpressions;
- namespace CSharpTest01
- {
- class Program
- {
- static void Main(string[] args)
- {
- //C#正则表达式的学习Regex在System.Text.RegularExpressions;下
- //1:定位元字符"^"、"$"
- //"^":匹配必须出现在字符串的开头或行的开头
- //"$":匹配出现在以下位置:字符串结尾、字符串结尾处的\n之前或行的结尾
- //string s = "the game";
- //string str1 = Regex.Replace(s, "^", "Begin ");//搜索字符串,符合正则表达式则在相应位置替换
- //Console.WriteLine(str1);
- //string str2 = Regex.Replace(s, "$", " end");//搜索字符串,符合正则表达式则在相应位置替换
- //Console.WriteLine(str2);
- //2:基本语法元字符"."、"\w"、"\W"、"\s"、"\S"、"\d"、"\D"、"\B"
- //"." :匹配除换行符以外的任意字符
- //"\w":匹配字母、数字、下划线、汉字(大小写字母、0-9数字、下划线_)。"\W":"\w"的补集(除了\w之外的)
- //"\s":匹配任意空白符(包括换行符\n、回车符\r、制表符\t、垂直制表符\v、换页符\f)。"\S":\s的补集
- //"\d":匹配数字(0-9数字)。"\D":表示\d的补集(除0-9之外)
- //"\B":匹配不是单词开始或结束的位置
- //string s = Console.ReadLine();
- //string MatchNumber = @"^\d*$";//正则表达式:匹配数字(\d匹配数字,*一个或者多个,^开头,$与最近的一个元字符\d匹配,表示结尾)
- //bool isMatch = Regex.IsMatch(s, MatchNumber);
- //Console.WriteLine(isMatch);
- //3:[abc]、[a-c]、[^x]、[^axz]
- //"[abc]":匹配括号中的字符
- //"[a-c]":匹配a到c之间的字符
- //"[^x]":匹配除x之外的任意字符
- //"[^axz]":匹配除axz之外的任意字符
- //string s = "I am Robot";
- //string patten = @"[^aRo]";//除了aRo这几个字符以外的任意字符
- //string str = Regex.Replace(s, patten, "*");
- //Console.WriteLine(str);
- //2:重复描述字符{n}、{n,}、{n,m}、?、+、*
- //{n} :匹配前面的字符n次
- //{n,}:匹配前面的字符n次或多于n次
- //{n,m}:匹配前面的字符n到m次
- //?:重复0次或1次
- //+:重复1次或更多次
- //*:重复0次或更多次
- //string qq1 = "31313123";//输入的QQ号5-12位数字合法
- //string qq2 = "153151351132121";
- //string qq3 = "123d2s2";
- //string MatchNumber = @"^\d{5,12}$";
- //Console.WriteLine(Regex.IsMatch(qq1, MatchNumber));
- //Console.WriteLine(Regex.IsMatch(qq2, MatchNumber));
- //Console.WriteLine(Regex.IsMatch(qq3, MatchNumber));
- //2:择一匹配字符 "|"
- //"|" :将两个匹配条件进行逻辑或(Or)运算
- string s = "kl454&^%$世纪12s";//检索字符串里面的数字和小写字母
- string patten = @"\d|[a-z]";
- MatchCollection col = Regex.Matches(s, patten);//Matches做多匹配
- foreach (Match temp in col)//MatchCollection里面每一个都是Match
- {
- Console.WriteLine(temp);//输出match实例相当于调用其ToString()方法;
- }
- s = "hello,word;nice.good";
- patten = @"[,]|[;]|[.]";//或者@"[,;.]"
- string[] resArray = Regex.Split(s, patten);
- foreach (string temp in resArray)
- {
- Console.WriteLine(temp);
- }
- }
- }
- }
复制代码 |
|