美文网首页
正则表达式中元字符的含义

正则表达式中元字符的含义

作者: TimberBug | 来源:发表于2022-12-27 11:12 被阅读0次

    首先安利一个可视化正则表达式的工具:Regexper

    一、特殊字符匹配元字符

    匹配单个特殊字符,使用以下元字符

    • . → 匹配任意一个字符 (除换行符\n除外)
    • \d → 匹配数字,0-9;
    • \D → 匹配非数字;
    • \s → 匹配空白,即空白符和tab缩进;
    • \S → 匹配非空白;
    • \w → 匹配字母、数字或下划线:a-z、A-Z、0-9、_;
    • \W → 匹配非字母、数字或下划线;
    • \x → 匹配十六进制数字;
    • \O → 匹配八进制数字;
    • \n → 匹配换行符;
    • \r → 匹配回车符;
    • \v → 匹配垂直制表符;
    • \t → 匹配制表符;
    • \f → 匹配换页符;
    • [\b] → 匹配退格字符,加[]是为了和\b区分;

    二、数量

    匹配多个字符使用以下元字符:

    • | → 逻辑或操作符,比如"ab"和"ac"都想匹配到,可以用这样的正则:"ab|c"
    • * → 前一个字符(子表达式) 出现0次或无限次,即可有可无;
    • + → 前一个字符(子表达式) 出现1次或无限次,即最少一次;
    • ? → 前一个字符(子表达式) 出现0次或1次,即要么不出现,要么只出现一次;
    • {m} → 前一个字符(子表达式) 出现m次;
    • {m,} → 前一个字符(子表达式) 至少出现m次;
    • {m,n} → 前一个字符(子表达式) 出现m到n次;

    注:尽量使用+?,因为做了优化,相比起{m}{m,}{m,n}速度更快。*

    三、集合与区间

    匹配某个范围内字符,使用以下元字符

    • [] → 匹配字符集合[]中列举的字符,如:[abc],就是匹配abc中的一个字符;
    • [^] → 匹配不在字符集合[]中列举的字符,如:[^abc],就是匹配不在abc中的字符;
    • - → 定义一个区间,或者说匹配一个范围,如:[a-z] 就是匹配26个小写字母中的一个;

    四、位置边界

    限制查找的位置等,使用以下元字符

    • ^ → 匹配一行的开始,多行模式能识别\n;
    • $ → 匹配一行的结尾,多行模式能识别\n;
    • \A → 匹配字符串开头,单行模式效果同^,多行模式不能识别\n;
    • \Z → 匹配字符串结尾,单行模式效果同$,多行模式不能识别\n;
    • \b → 匹配单词边界,即单词和空格间的位置,如:er\b 可以匹配never中的er,却不能匹配verb中的er;
    • \B → 匹配非单词边界;
    • < → 匹配单词开头;
    • > → 匹配单词结尾;

    相关文章

      网友评论

          本文标题:正则表达式中元字符的含义

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