MENU

正则语法速查

April 5, 2022 • Read: 3070 • 编码

几年前整理的一篇正则语法,对我个人来说使用频率极高,几乎每次写正则都会用到。
因为当时对这篇文章的定位是语法速查,所以没有写的很细,不过还好够用。

正则表达式的用途:分割 查找 匹配 替换
关于正则的用法:

  • 分隔符

    • / 正斜线
    • # hash符号
    • ~ 取反符号
  • 通用原子

    • \d 十进制的0-9
    • \D 除了十进制的0-9,可以理解为 \d取反
    • \w 数字字母下划线
    • \W除了数字字母下划线,可理解为\w取反
    • \s 空白字符(空格)
    • \S除了空白字符,可理解为 \s取反
  • 元字符

    • . 除了换行符以外的任意字符
    • * 匹配前面的内容,零次、一次、多次
    • ? 匹配前面的内容,零次、一次
    • ^ 必须以此开头
    • $ 必须以此结尾
    • + 出现一次或多次
    • {n} 只能出现N次
    • {n,} 至少出现N次
    • {n,m} 至少出现N次,最多出现M次
    • [] 或,比如[123] 表示 1或2或3
    • () 表示一个整体
    • [^123] 表示 除了1 除了2 除了3
    • | 表示或的意思
    • [-] 范围值,例如 [0-9]
  • 模式修正符

    • i 不区分大小写
    • m 每一行分别匹配
    • s 修正换行符,如果由换行符就需要使用这个修正,否则匹配不上
    • U 取消贪婪模式
    • x 忽略模式中的空白字符
    • A 必须以这个模式开头
    • D 修正对\n的忽略
    • u utf-8编码,中文匹配时有用

补充一些常用正则规则:

  • 验证手机号:^1[3456789]\d{9}$
  • 验证身份证号:^\d{17}[\dxX]$
  • 验证邮箱: ^\w+@\w{2,}\.\w{2,4}$
Leave a Comment

5 Comments
  1. 913553099@qq.com 913553099@qq.com

    学习啦,谢谢分享

  2. 方源 方源

    这个博客是自己写的么,还是用的框架

    1. @方源用 typecho 搭建的

  3. eros eros

    催更催更

    1. @eros你也搞一个 我们一起更