欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-23 21:24:50
本文接上篇,基础部分相对薄弱的同学请移步 "《JavaScript正则表达式学习笔记(一) 理论基础》" 。上文介绍了 8 种JavaScript正则表达式的属性,本文还会追加介绍几种JavaScript正则表达式的属性(注意是非标准属性,但很好用)。 一. 上文回顾 本文会用到上篇文章部分内容,所 ......

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种。

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