最近复习JavaScript基础知识夯实基础,发现有很多短板。其中之一便为正则表达式,在进行了相对系统的总结学习之后,在这里做一番自己的总结。以备之后便捷查询更改。
一:正则的基本概念以及作用
概念:
正则表达式也被称为规则表达式,通常被用于检索,替换某些规则的文本。
不必对概念纠结,简单的将正则表达式理解为一个匹配规则即可。
作用:
正则表达式在不同的编程语言中有着不同的表现形式,在这里使用JavaScript前端语言进行举例并且说明
经常会遇见一个替换场景,例如将字符串'a1b1c1d1'
中的数字全部替换成大写字母X
'a1b1c1d1'.replace('1', 'X') // 结果为: 'aXbXcXdX'
但是当需要替换字符串'a1b2c3d4'
中的所有的数字为大写字母X时需要怎么做?
是不是有些繁琐,在这里使用正则表达式将会非常的方便
'a1b2c3d4'.replace(/\d/g, 'X') // 结果为: 'aXbXcXdX'
即使不使用正则表达式他也会将匹配字符转换成正则规则,再进行匹配,因此使用正则将会更加方便
二:正则表达式的使用基础知识
1:创建正则的两个方式
在javascript中,通常通过使用内置对象:RegExp对象来支持使用正则表达式
1):通过创建变量的方式(常用)
var reg = /\d/g;
2):通过创建对象的方式
var reg = new RegExp('\\d', g)
// 第一个参数为正则表达式,在字符串中\属于特殊字符, 因此必须要进行转义;
// 第二个参数是修饰符,
2:正则表达式的修饰符
- global 简写:g 全局匹配
- ignore case 简写:i 忽略大小写
- multiple lines 简写: m 多行搜索
正则表达式的修饰符可以多个一起使用修饰正则表达式。
3:正则表达式的两种字符类型
- 原义文本字符
即表达式中的字符和要匹配的字符是一样的,没有特殊含义。 - 元字符
在正则表达式中有特殊含义的非字母字符
例如:* + ? $ ^ . | \ ( ) { } [ ]
注意:元字符的含义并不是唯一的,在不同的场景下,他也是不同的。
4:正则表达式的类
在描述表达式中的类之前,大家都明白,凡是类,必定就是一个泛指,他代表的是一类字符。
1:字符类