JavaScript正则表达式学习笔记(二) - 打怪升级

时间:2021-07-06 20:59:32

JavaScript正则表达式学习笔记(二) - 打怪升级

本文接上篇,基础部分相对薄弱的同学请移步《JavaScript正则表达式学习笔记(一) - 理论基础》。上文介绍了8种JavaScript正则表达式的属性,本文还会追加介绍几种JavaScript正则表达式的属性(注意是非标准属性,但很好用)。

一. 上文回顾

本文会用到上篇文章部分内容,所以简单回顾下。

1.1 JavaScript正则表达式标志符

  1. g: 全局匹配,即找到所有匹配的。对应属性RegExp#global

  2. i: 忽略字母大小写。对应属性RegExp#ingoreCase

  3. m: 多行匹配,只影响^和$,二者变成行的概念,即行开头和行结尾。对应属性RegExp#multiline

  4. u: ES6新增。含义为“Unicode 模式”,用来正确处理大于\uFFFF的 Unicode 字符。也就是说,会正确处理四个字节的 UTF-16 编码。对应属性RegExp#unicode

  5. y: ES6新增。y修饰符的作用与g修饰符类似,也是全局匹配,后一次匹配都从上一次匹配成功的下一个位置开始。不同之处在于,g修饰符只要剩余位置中存在匹配就可,而y修饰符确保匹配必须从剩余的第一个位置开始,这也就是“粘连”的涵义。对应属性RegExp#sticky

1.2 适用于Javascript正则表达式的方法

上篇文章《JavaScript正则表达式学习笔记(一) - 理论基础》介绍了适用于JavaScript正则表达式模式匹配的相关API共有6种,RexExp提供2个,String提供4个,如下:

1. RegExp#test    // 适用于:验证、提取
2. RegExp#exec    // 适用于:验证、提取
3. String#search  // 适用于:验证、提取
4. String#match   // 适用于:验证、提取
5. String#split   // 适用于:切分
6. String#replace // 适用于:提取、替换

二. JavaScript正则表达式的四种操作

正则表达式是用于匹配字符串中字符组合的模式, 其核心内容便是模式匹配。也就是说,不论进行那种操作,首先要有模式匹配,有了模式匹配之后,才能进行验证、替换、切分、提取这四种操作。

2.1 验证

验证应该是前端程序员写正则表达式用的最多的方法吧,比如表单验证之类的。可以实现验证的方法有4种。

光说不练假把式,光练不说傻把式,又练又说才是真把式