zoukankan      html  css  js  c++  java
  • 正则表达式

    下表列出了常用的正则表达式元字符:

    1) 元字符

    正则表表达式元字符
    元字符匹配内容
    . 匹配除换行符以外的任意字符
    w 匹配所有普通字符(数字、字母或下划线)
    s 匹配任意的空白符
    d 匹配数字
    匹配一个换行符
    匹配一个制表符
     匹配一个单词的结尾
    ^ 匹配字符串的开始位置
    $ 匹配字符串的结尾位置
    W 匹配非字母或数字或下划线
    D 匹配非数字
    S 匹配非空白符
    a|b 匹配字符 a 或字符 b
    () 正则表达式分组所用符号,匹配括号内的表达式,表示一个组。
    [...] 匹配字符组中的字符
    [^...] 匹配除了字符组中字符的所有字符

    2) 量词

    正则表达式量词
    量词用法说明
    * 重复零次或者更多次
    + 重复一次或者更多次
    重复0次或者一次
    {n} 重复n次
    {n,} 重复n次或者更多次
    {n,m} 重复n到m次

    3) 字符组

    有时也会出现各种字符组成的字符组,这在正则表达式中使用[]表示,如下所示:

    正则表达式字符组
    正则待匹配字符匹配结果说明
    [0123456789] 8 True 在一个字符组里枚举所有字符,字符组里的任意一个字符
    和"待匹配字符"相同都视为可以匹配。
    [0123456789] a False 由于字符组中没有 "a" 字符,所以不能匹配。
    [0-9] 7 True 也可以用-表示范围,[0-9] 就和 [0123456789] 是一个意思。
    [a-z] s True 同样的如果要匹配所有的小写字母,直接用 [a-z] 就可以表示。
    [A-Z] B True [A-Z] 就表示所有的大写字母。
    [0-9a-fA-F] e True 可以匹配数字,大小写形式的 a~f,用来验证十六进制字符。

    贪婪模式非贪婪模式

    正则表达式默认为贪婪匹配,也就是尽可能多的向后匹配字符,比如 {n,m} 表示匹配前面的内容出现 n 到 m 次(n 小于 m),在贪婪模式下,首先以匹配 m 次为目标,而在非贪婪模式是尽可能少的向后匹配内容,也就是说匹配 n 次即可。

    贪婪模式转换为非贪婪模式的方法很简单,在元字符后添加“?”即可实现,如下所示:

    非贪婪模式
    元字符(贪婪模式)非贪婪模式
    * *?
    + +?
    ??
    {n,m} {n,m}?

    正则表达式转义

    如果使用正则表达式匹配特殊字符时,则需要在字符前加表示转意。常见的特殊字符如下:

    * + ? ^ $ [] () {} | 
    虚心学习、丰富自己
  • 相关阅读:
    postcss-pxtorem
    git命令记录
    伪类和伪元素
    JavaScript设计模式
    每日思考(2020/09/08)
    每日思考(2020/09/03)
    每日思考(2020/09/02)
    每日思考(2020/09/01)
    每日思考(2020/08/31)
    每日思考(2020/08/27)
  • 原文地址:https://www.cnblogs.com/tkqq000/p/15233077.html
Copyright © 2011-2022 走看看