C#的一些字符表达(一)

一.定位元字符:
           我们经常再正则表达式字符串前面加上@字符,这样不让编辑器去解析其中的转义字符,而作为正则表达式的语法(元字符)的存在;
           \b : 匹配单词的开始或结束;
           \B :匹配非单词的开始或结束;
            ^ :匹配必须出现在字符串的开头或行的开头;
            $: 匹配必须出现在以下位置:字符串结尾,字符串结尾处的\n之前或行的结尾; 
            \A: 指定匹配必须出现在字符串的开头(忽略Multiline选项);
            \z:  指定匹配必须出现在字符串的结尾(忽略Multiline选项);
            \Z: 指定匹配必须出现在字符串的结尾或字符串结尾处的\n之前(忽略Multiline选项);
            \G:指定匹配必须出现在上一个匹配出现的地方,与Match.NextMatch()一起使用时,此断言保证所有匹配都是连续的;
实例:
string s="Hello World";
string res=Regex.Replace(s,"^","开始")
//Regex命名空间:System.Text.RegularExpressions;
Console.WriteLine(res);
//输出结果为:开始Hello World;
二.基本语法元字符:
         \w : 匹配字母,数字,下划线,汉字     (指大小写字母,0-9的数字,下划线);
            \W :\w的补集  (除“大小写字母,0-9的数字,下划线”之外);
            \s :匹配任意空白符  (包括换行符\n,回车符\r,制表符\t,垂直制表符\v,换页符\f);
            \S :\s的补集(除\s定义的字符之外);
            \d : 匹配数字(0-9数字);
            \D :表示\d的补集  (除了“0-9数字”);
在正则表达式中,\是转义字符,*是元字符,如果要表示一个\ . *字符的话,需要使用\\  \.  \*
三.反义字符:
         \W :\w的补集  (除“大小写字母,0-9的数字,下划线”之外);
          \S :\s的补集(除\s定义的字符之外);
          \D :表示\d的补集  (除了“0-9数字”);
              \B :匹配不是单词开头或结束的位置;
             [abc] :匹配括号中的字符;
             [a-c] :a字符到c字符之间是字符;
             [^x]  :匹配除了x以外的任意字符;
             [^adwz] : 匹配除了adwz这几个字符以外的任意字符;
实例:
string str="I am a cat.";
string pattern=@"[^ahou]";
string s=Regex.Replace(str,pattern,"*");
Console.WriteLine(s);
//输出结果:**a**a**a**;
四.重复描述字符:
         {n}  : 匹配前面的字符n次;
         {n,} : 匹配前面的字符n次或多于n次;
         {n,m}:匹配前面的字符n-m次;
          ?  :重复零次或一次;
           +    :重复一次或更多次;
           *     :重复零次或更多次;
实例:
string s="46((*&sadfj就发给你就";
string pattern=@"\d|[a-z]";
MatchCollection col=Regex.Matches(s,pattern);
foreach(Match match in col)
{
     Console.Write(match);
}

//输出结果:46sadfj
string s="lihan;lisi,wangfei.zhaoli";
string pattern=@"[;,.]";
string []resArray=Regex.Split(s,pattern);
foreach(var s in resArray)
{
     Console.WriteLine(s);
}
//输出结果为:lihan
                    lisi
                    wangfei
                    zhaoli




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值