68-正则表达式

125 阅读2分钟

正则表达式

  • 概念:使用正则表达式定义一个规则,使用该规则对检测字符串进行检测、查找操作

创建正则

  • 构造函数方法

    let 变量名 = new RegExp("规则","修饰符")
    
  • 字面量形式

    let 变量名 = /规则/修饰符
    
    • 规则必选,修饰符可选

正则的方法

方法名含义参数返回值
test()判断字符串是否匹配正则表达式规则字符串布尔类型
exec()正则在字符串中查找对应的值字符串数组或null
compile()修改正则内容字符串

正则规则

(1)方括号规则

表达式描述
/[abc]/包含[]中任意一个字符
/[^abc]/包含除了[]以外其他字符
/[0-9]/包含任意数字
/[a-z]/包含小写a-z的字母
/[A-Z]/包含大写A-Z的字母
/[A-Za-z0-9]/包含A-Z、a-z、0-9

(2)元字符:具有特殊意义的专用字符

元字符说明
/\w/包含数字、字母、下划线中的任意字符。等同于/[A-Za-z0-9_]/
/\W/包含除了数字、字母、下划线之外的其他任意字符。等同于/[^A-Za-z0-9_]/
/\d/包含任意数字。等同于/[0-9]/
/\D/包含除了数字以外的其他任意字符,等同于/[^0-9]/
/\s/包含空白字符(空格)
/\S/包含除了空白字符以外的其他字符

(3)量词

量词b/说明
/n+/包含至少一个指定的字符,可以理解为n连续出现次数>=1
/n*/指定字符可有可无,可以理解为n出现的次数为>=0
/n?/指定字符出现0次或1次
/n{x}/指定字符出现x次
/n{x,}/指定字符至少出现x次,可以理解为n出现的次数为>=x
/n{x,y}/指定字符至少出现x次,最多出现y次可以理解为n出现的次数为>=x并且<=y

(4)开始和结束

符号说明
/^n/是以指定字符开头
/n$/是以指定字符结束
  • 注意:只要对字符串的内容进行验证,都会在正则中添加开始^结束$

(5)其他字符

符号说明
.通配符
()对规则进行分组
``转义符

4、修饰符

修饰符说明
i不区分大小写
g对所有字符串进行匹配(而非找到第一个匹配后停止)
m多行匹配(即在到底一行文本末尾时还会继续查找下一行)
  • 其中:gm作为了解
  var str = "a";  
  var regExp = /^A$/i;  
  console.log(regExp.test(str))