美文网首页
“正则表达式”笔记

“正则表达式”笔记

作者: 无聊的IT | 来源:发表于2016-10-11 16:40 被阅读19次

    元字符

    • .
        匹配任意单个字符(在绝大多数正则表达式引擎中不能匹配换行符)。

    • \
        1.代表转义字符。
        例:\. 此处的点不再匹配任意单个字符,而是代表字符“.”本身。
        同理\[\]此处提“[”、“]”也只是普通字符,而不再是正则表达式的元字符。
        如果要在正则表达式中匹配普通字符“\”,则要使用\\\\

    任何一个元字符都可以通过给它加上一个反斜杠字符(\)作为前缀的办法来转义。
      配对的元字符(比如[或])不用作元字符时必须被转义,否则正则表达式分析器很可能会抛出一个错误。
      在一个完整的正则表达式里,字符“\”的后面永远跟着另一个(元)字符。
      (引用自人民邮电出版社《正则表达式必知必会(修订版)》,【美】Ben Forta著,杨涛等译)

    2.也可以用“\”来匹配一些非打印字符,比如:
       (1)[\b]  匹配Backspace键(回退并删除一个字符)
       (2)\f   换页符
       (3)\n   换行符
       (4)\r   回车符
       (5)\t   制表符(Tab键)
       (6)\v   垂直制表符
       3.匹配任意一个数字:\d          等价于[0-9]
       4.匹配任意一个非数字:\D         等价于[^0-9]
       5.匹配任意一个字母、数字或下划线:\w   等价于[a-zA-Z0-9_]
       6.匹配任意一个非字母、数字或下划线:\W  等价于[^a-zA-Z0-9_]
       7.匹配任意一个非打印字符:\s       等价于[\f\n\r\t\v]
          说明:不包括\b
       8.匹配任意一个可打印字符:\S       等价于[^\f\n\r\t\v]
          说明:不包括\b
       9.匹配16进制:\x0A    对应ASCII字符10,等价于\n
       10.匹配8进制:\011    对应ASCII字符9,等价于\t

    • []
        1.“[”“]”之间是一个字符集合,代表可以匹配字符集合中的某一个字符。
        例:[0-9]a可以匹配“1a”、“2a”、“3a”……
        也可以写成[a-z0-9][A-Za-z0-9][abcdefghijklmnopqrstuvwxyz0123456789]
        2.当使用-连字符的时候,-后面的字符的ASCII值不能大于前面字符的ACSII值。

    • -
        连字符,只能在元字符“[”和“]”之间使用属于元字符,在“[”和“]”之外使用不属于元字符,只是普通字符普通字符“-”,具体使用方法见上面[]中的介绍。

    • ^
        1.取非匹配。
        例:[^0-9]a可以匹配“aa”、“ba”、“Ca”,但不能匹配“1a”、“2a”、“0a”,以此类推。
        2.^的效果作用于给定字符集合里的所有字符或字符区间,而不是仅限于紧跟在^字符后面的那一个字符或字符区间。
        例:[^0-9a-z]a代表匹配的结果中不能包括“0a”、“1a”、“2a”、“aa”、“ba”等,但可以包括“Aa”、“Ba”、“Ca”等。

    相关文章

      网友评论

          本文标题:“正则表达式”笔记

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