C#正则表达式

正则表达式:
元字符:
    .匹配任何单个字符,
    []匹配括号内的任何一个字符,
    ()改变优先级,定义提取组,
    |将两个匹配条件进行逻辑或运算,
    *匹配0至多个它之前的子表达式,和通配符*没关系,
    +匹配前面的子表达式一次或多次,
    ?匹配前面的子表达式零次或一次,
    {n}匹配前面表达式确定的n次,
    {n,}匹配前面表达式至少n次,
    {n,m}匹配前面表达式n到m次,
    ^匹配一行的开始(还有另外一种意思“非”),
    $匹配行结束符
简写表达式:
    \d代表一个数字,等同于[0-9]
    \D代表非数字,等同于[^0-9]
    \s代表换行符、Tab制表符等空白字符
    \S代表非空白字符
    \w匹配字母或数字或下划线或汉字,即能组成单词的字符
    \W匹配任意不是字母,数字,下划线,汉字的字符,即非\w等同于[^\w]
    d:digital  s:space   w:word  大写就是“非”
  //string s = "老王的英文名字是Wrong";
  //Match match = Regex.Match(s, @"^(\w+)的英文名字是(\w+)$");
  是否匹配成功
  //if (match.Success)
  //{
  //    //分组序号从1开始
  //    string cnName = match.Groups[1].Value;
  //    string enName = match.Groups[2].Value;
  //    Console.WriteLine(cnName);
  //    Console.WriteLine(enName);
  //}
贪婪模式与非贪婪模式
    贪婪模式: 默认情况下,正则表达式使用最长的匹配原则
    非贪婪模式: 当字符“?”紧随任何其他限定符(*、+、?、{n}、{n,m})之后时,匹配模式变成使用最短匹配原则
匹配组
  //string s = "你是tom,我是jerry,他是韩梅梅,哈哈";
  //MatchCollection matches = Regex.Matches(s, @"是(\w+),");
  匹配组从0开始
  //for (int i = 0; i < matches.Count; i++)
  //{
  //    Match match = matches[i];
  //    //match.Value是匹配的内容
  //    Console.WriteLine(match.Value);

  //    string name = match.Groups[1].Value;
  //    Console.WriteLine(name);
  //}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值