• 正则表达式总结


    正则表达式是对字符串进行操作;
    1、.:匹配除了 以外的任意单个字符;空格也行匹配,但注意一个点只匹配一个字符(汉字也算);
    当出现有换行的时候:
      a)单行模式:.能匹配 ;
      vs里的单行模式:Regex.Matches/Match("","",RegexOptions.Singleline);
      b)在换行处的正则表达式:[sS],即空格或非空格;
    2、[]:匹配中括号中的任意一个字符,b[aeiou]g,b[a-zA-Z]g;但注意中括号也只匹配一个字符;
    3、|:竖线前面的或竖线后面的
    z|food:z或者food;
    (z|f)ood:zood或者food;
    *:匹配0至多个在它之前的子表达式,和通配符*没关系。例如正则表达式“zo*”(等同于z(o)*)能匹配 “z” 、“zo”以及 “zoo”;因此“.*”意味着能够匹配任意字符串。"z(b|c)*"→zb、zbc、zcb、zccc、zbbbccc。"z(ab)*"能匹配z、zab、zabab(用括号改变优先级)。
    + :匹配前面的子表达式一次或多次,和*对比(0到多次)。例如正则表达式9+匹配9、99、999等。 “zo+”能匹配 “zo”以及 “zoo” ,不能匹配"z"。
    ? :匹配前面的子表达式零次或一次。例如,“do(es)?” 可以匹配 “do” 或 “does” 。一般用来匹配“可选部分”。(终止贪婪模式)
    {n} :匹配确定的 n 次。“zo{2}”→zoo。例如,“e{2}” 不能匹配“bed”中的“e”,但是能匹配“seed”中的两个“e”。 //seeeed,不可以。
    {n,} :至少匹配n次。例如,“e{2,}”不能匹配“bed”中的“e”,但能匹配 “seeeeeeeed”中的所有“e”。

    {n,m} :最少匹配 n 次且最多匹配 m 次。“e{1,3}”将匹配“seeeeeeeed”中的前三个“e”。 {2,5}//bed,seed,seeed;beeeeed错误。
    限定符:限定前面的正则表达式出现的次数。
    ^(shift+6) :匹配一行的开始。例如正则表达式“^regex”能够匹配字符串“regex我会用”的开始,但是不能匹配“我会用regex”。
    ^另外一种意思:非!([^0-9])在中括号中,表示非
    $ :匹配行结束符。例如正则表达式“浮云$” 能够匹配字符串“一切都是浮云”的末尾,但是不能匹配字符串“浮云呀”

    d:代表一个数字,等同于[0-9]   <\d>  →d     
    D:代表非数字,等同于[^0-9]
    s:代表换行符、Tab制表符等空白字符 ,(空格、回车、制表符)
    (.无法匹配 )
    S:代表非空白字符(a0%$@@)。
    w:匹配字母或数字或下划线或汉字,即能组成单词的字符,除%&#@!$等字符。[a-zA-Z0-9_汉字]
    W:非w ,等同于[^w] %
    d:digital;s:space、w:word。大写就是“非”
     
    .net中的正则表达式:
    正则表达式(Regular Expression)的主要类:Regex
    常用的3种情况:(C#语法)
    判断是否匹配:Regex.IsMatch(“字符串”,”正则表达式”);
    字符串提取:Regex.Match(“字符串”,“要提取的字符串的正则表达式”);//只能提取一个(提取一次)
    字符串提取(循环提取所有): Regex.Matches(),(可以提取所有匹配的字符串。)
    字符串替换:Regex.Replace(“字符串”,”正则”,”替换内容”);

    注意:两个双引号能转义成一个双引号;

  • 相关阅读:
    Android的startActivityForResult()与onActivityResult()与setResult()参数分析,activity带参数的返回
    git stash 保存当前工作状态
    vim diff 的使用
    git pull 命令
    java 开发环境安装
    vim 处理换行符
    git 操作分支
    git 操作远程仓库地址
    vim 宏的使用
    Chrome 调试技巧
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/3191925.html
Copyright © 2020-2023  润新知