正则表达式

基础限定符

  • ? : 符号前的字符出现0次或1次

  • * : 符号前的字符出现0次以上

  • + : 符号前的字符出现1次以上

  • {...} : 符号前的字符出现...次,...可为某一指定数或者范围

? 相当于 {0,1}; * 相当于 {0,}; + 相当于 {1,};

  • (...) : 符号内...视为捆绑的字符

运算符

  • | : 符号前与符号后两部分任取一部分(或运算符)
    example1

  • [...]+ : 符号内字符为选定范围(字符类)
    example2

  • ^ : 在 [...]+ 内使用表除该范围外
    example3

元字符

  • \d : 指数字字符(相当于 [0-9]+

  • \w : 指单词字符(英文、数字及下划线)

  • \s : 指空白字符(包含Tab和换行符)

  • \D : 指非数字字符

  • \W : 指非单词字符

  • \S : 指非空白字符

  • \b : 标注字符边界

  • . : 指任意字符(但不包含换行符)

  • ^与<span data-formula=" : 前者取首行,后者取尾行

高级概念

  • 贪婪匹配 : 匹配尽可能 的字符

  • 懒惰匹配 : 匹配尽可能 的字符

e.g: <.+> 与 <.+?>
example4
(默认任意字符贪婪匹配)
example5
(任意字符懒惰匹配)

具体例子

  • 提取RGB颜色(16进制为例) :
    example6

  • 提取IP地址(10进制) :
    example7" aria-hidden="true">** : 前者取首行,后者取尾行

高级概念

  • 贪婪匹配 : 匹配尽可能 的字符

  • 懒惰匹配 : 匹配尽可能 的字符

e.g: <.+> 与 <.+?>
example4
(默认任意字符贪婪匹配)
example5
(任意字符懒惰匹配)

具体例子

  • 提取RGB颜色(16进制为例) :
    example6

  • 提取IP地址(10进制) :
    example7


本文章使用limfx的vscode插件快速发布