美文网首页
正则表达式基础语法

正则表达式基础语法

作者: 一杉风雨 | 来源:发表于2018-10-03 20:07 被阅读0次

    常用匹配

    # 匹配中文
    [^\x00-\xff]
    # 匹配任意字符 + 换行
    [\s\S]*  
    # 匹配英文字符
    [ -~] 
    # 匹配中文字符
    [^ -~] 
    

    匹配

    \b            匹配一个位置(单词的开头或结尾)          \w            匹配一位母或数字或下划线或汉字
    \d            匹配一位数字字                        \s            匹配一位任意的空白符
    .             匹配一位换行符以外的任意字符            ^             匹配字符串的开始(行)
    $             匹配字符串的结束                      ^$            匹配空白行
    [a-z]           字符集的选择,仅仅代表一个字符         ^[a-z]       字符集的反向选择
    

    限定符

    *             重复前一个RE字符,0次或0次以上
    +             重复前一个RE字符,1次或1次以上
    ?             重复前一个RE字符,0次或1次
    {n}           重复前一个RE字符,n次
    {n,}          重复前一个RE字符,n次或n次以上
    {n,m}         重复前一个RE字符,n~m次
    

    分支条件,分组

    |             // 满足任意一规则都应当成匹配
    ()            // 指定子表达式,从左至右,默认分组号1,2,3,……
    

    零宽断言

    // 捕获 
    (exp)           匹配exp,并捕获文本到自动命名组
    (?<name>exp)    匹配exp,并捕获文本到name组
    (?:exp)         匹配exp,但不捕获文本    
      
    // 零宽断言,匹配位置,不消耗字符(匹配文本前后缀)
    (?=exp)         断言自身位置的后面,匹配exp
    (?<=exp)        断言自身位置的前面,匹配exp
    (?!exp)         断言自身位置的后面,不匹配exp
    (?<!exp)        断言自身位置的前面,不匹配exp
    
    // 注释
    (?#comment)     提供注释
    

    懒惰与贪婪

    // 正则默认为贪婪模式,使用懒惰模式时如下
    *?      重复任意次,但尽可能少重复 
    +?      重复1次或更多次,但尽可能少重复 
    ??      重复0次或1次,但尽可能少重复 
    {n,m}?  重复n到m次,但尽可能少重复 
    {n,}?   重复n次以上,但尽可能少重复 
    

    相关文章

      网友评论

          本文标题:正则表达式基础语法

          本文链接:https://www.haomeiwen.com/subject/ljhtaftx.html