正则表达式

  1. 什么是正则表达式?
    • 正则表达式是对字符串操作的一种逻辑公式
    • 正则表达式就是通过具有特定规则的模式,与输入的
    • 字符串信息进行比较,分割,查找,替换等操作
  2. 为什么要使用正则?
    • 给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
    • 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):
    • 可以通过正则表达式,从字符串中获取我们想要的特定部分。
  3. 正则表达式的特点是:
    • 灵活性、逻辑性和功能性非常强;
    • 可以迅速地用极简单的方式达到字符串的复杂控制。
    • 对于刚接触的人来说,比较晦涩难懂。
  4. 正则表达式可以做什么??
    • 操作字符串是正则表达式的唯一作用
    • 验证用户名长度和用户名格式是否合法
    • 验证密码是否符合标准
    • 验证邮箱是否符合标准格式
    • 验证手机号码是否满足条件
    • 验证url地址
  5. 正则表达式的组成:
    • 原子
    • 元字符
    • 普通转义符
    • 模式修正符
  6. 通用字符类型 \d 表示匹配任意数字 \D 非任意数字(上边的反义) \w 匹配任意一个数字,字母,下划线 \W 匹配非数字字母下划线 \s 匹配任意一个非打印字符 \S 匹配任意一个打印字符
  7. 元字符
    • [] 表示单个字符的原子表
    • [0123456789] 表示任意一个数字
    • [0-9]表示任意一个数字
    • [a-z] 表示a-z的任意一个小写字母
    • [A-Z] 表示A-Z的任意一个大写字母
    • [^] 表示除了括号中的原子以外的任意字符
    • [^]取反的意思中括号以外的所有字符都可以
    • {} 大括号里边的值表示的是前边原子的数量控制
    • {m} 表示对前边原子数量的控制 表示的是允许出现m次
    • {m,} 表示前边原子出现至少m次
    • {m,n} 表示前边原子可以出现m-n次
  8. 正则表达式中的特殊字符
    • . 匹配除了换行符以外的所有字符
      • 表示对前边原子数量的控制,表示任意次 等价于 {0,}
      • 表示对前边原子数量的控制,表示至少1次 等价于{1,}
    • ? 表示对前边原子数量的控制,表示0次或1次(可有可无) 等价于{0,1}

    常用的组合:

    • .*? 或者是 .+? 拒绝贪婪模式
    • ^ ^[] 必须以什么开头
    • $ []$ 必须以什么结尾