正则表达式

正则表达式的创建

const 变量名=/正则表达式/

正则表达式的两个方法

1.匹配:验证字符串是不是符合规则

正则.test(要匹配的字符串)
符合返回true,反之返回false;

2.捕获:从字符串中获取符合规则的那一部分字符串

正则.exec(要获取的字符串)
没有符合的字符串:返回Null;
有符合的字符串:

      1.基础捕获:返回一个数组,不管有多少个片段都从第一个开始捕获,不管捕获多少次都只返回第一次捕获的片段
      2.有()时,返回一个数组,分别是小括号的单独捕获
      3.有全局标识符时,匹配或者捕获的时候只找第一个;第二次捕获从第一次捕获的结束位置开始;如果找不到就返回Null,再后面一次又回到开头开始捕获
  1. 返回一个数组
  2. [asd]是捕获出来的片段
  3. 只捕获第一组符合的片段

元字符

  • \s表示一个空格
  • \S表示一个非空格
  • \t表示一个制表符(与空格区别)
  • \d表示一个数字
  • \D表示一个非字符
  • \w表示数字字母下划线三选一
  • \W表示非数字字母下划线
  • (.)表示字符串里要有一个非换行内容
  • ^表示以 开头( ^\d 表示以字母开头)
  • $表示以 结尾
  • (^\d$ )表示以数字开头然后结束,只存在一个数字

限定元字符(只修饰前面一个字符)

  • *表示存在多个0~多个组成的片段
  • +表示出现1~多个
  • ?表示出现0~1次
  • {n}表示出现n次
  • {n, }表示出现n到多次
  • {n,m}表示出现n到m次

正则的贪婪和非贪婪

  • 贪婪:在捕获的时候尽量捕获最多
  • 非贪婪:在表达式后家一个?,以最少标准捕获

正则的特殊字符

  • ()1.表示整体 2.表示单独捕获(从左到右每个小括号依次是数字里从[1]开始的内容)
  • (?:)表示整体匹配但不捕获
  • /占位或,表示前面的或者后面的符合匹配结果
  • [ ] 表示括号里面任意一个都行
  • [^]表示任意一个非括号里的都行
  • - 表示从一个字符到另一个字符,ASCII码必须是连续的,与[]连用

正则的标识符

  • i 表示忽略大小写
  • g 表示全局 匹配或者捕获的时候只找第一个;第二次捕获从第一次捕获的结束位置开始;如果找不到就返回Null,再后面一次又回到开头开始捕获
  • y 表示粘性全局 第一次捕获必须从索引0开始就拿到对应结果,第二次必须是从第一次结束位置开始
    表示方法:在正则表达式后面添加
    new RegExp(‘abcd’,‘igy’)
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页