正则运算符

69 阅读2分钟

正则表达式的创建

  • 创建正则的方式

    1. 字面量的方式 const reg = /正则符号/

    2. 内置构造函数 const reg = new RegExp('正则符号')、

  • 主要的使用方法

    用于匹配某一个字符串是否符合规则 true 符合规则 false 不符合

    语法: 正则.test(字符串)

元字符

普通元字符
  • \d表示 一位 数字(0~9)

  • \D表示 一位 非数字

  • \s表示 一位 空白字符(空格 缩减)

  • \S表示 一位 非空字符

  • \w表示 一位 字母/数字/下划线

  • \W表示 一位 非字母/数字/下划线

  • . 表示 一位 非换行内容

  • \ 表示 转义 可以将一个没有特殊含义的字符, 转换为可能具有特殊含义 也可以将一个具有特殊含义的字符, 转换为一个不具备特殊含义的字符串

边界元字符
  • ^表示开头

    • /^\d&/ 以0~9的数字开头
  • &表示结尾

    • /\d&/ 以0~9的结尾
  • 当^与&结合在一起的时候,意思是字符串必须完全匹配当前的正则才可以

    • /^\d&/ ==> 必须是一个0到9的数字
限定元字符
  • 限定 前一个 符号出现的次数

    • * 表示 0~正无穷次
    • + 表示 1~正无穷次
    • ? 表示 0~1次
  • 下边三个限定符的大括号不要书写空格

    • {n} 限定n次
    • {n,} 限定n到无穷次
    • {n,m} 限定n到m次
正则的特殊元字符
  1. ()
    • 将包含的内容当成一个整体
    • 单独捕获 (暂时不讲, 需要等讲完捕获之后)
  2. | 或
    • 表示 左右两边 满足其中一个就行
      • \比如: a|b 字符串是 a 或者 b 都可以
    • 注意: | 有没有 被 () 包裹
      • 包裹: 将小括号的分成两个条件
      • 没有被包裹: 将整个正则分成两个
  3. [ ] 包含
    • [abcd]
    • 当前规则表明有一个字符, 是 abcd 其中的一个就行
  4. [^] 不包含
    • [^abcd]
    • 当前规则表明有一个字符, 不是 abcd 其中的一个就行
  5. - 到
    • 一般需要和 [ ] 连用
    • [0-9] 表明一个数字 0~9 即可
    • [^0-9] 表明一个非数字内容
    • [a-z] 表明一个小写字母 a~z 即可
    • [A-Z] 表明一个大写字母 A~Z 即可
正则的重复元字符
  • \1 \2 \3 \4 ...... \n

  • 表示重复前边 第 n 个 小括号匹配的内容