如何使用正则表达式

分享人:刘仁瑞

目录

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.扩展思考

6.编码实战

7.参考文献

8.更多讨论

1.背景介绍

正则表达式是什么

正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。正则表达式可以是一个简单的字符,或一个更复杂的模式。正则表达式可用于所有文本搜索和文本替换的操作。

2.知识剖析

创建正则表达式

两种方式:

正则表达式字面量
const regex = /ab+c/;
RegExp对象的构造函数
const regex = new RegExp("ab+c");

正则表达式中的特殊字符

字符 含义
\ 转义字符
^ 匹配输入的开始,如果多行标志被设置为true, 那么也匹配换行符后紧跟的位置
$ 匹配输入的结束。如果多行标示被设置为true,那么也匹配换行符前的位置
\s 空白字符
\w 匹配一个单字字符
. 匹配除换行符以外的所有字符

使用正则表达式

方法 描述
exec 一个在字符串中执行查找匹配的RegExp方法,它返回一个数组(未匹配到则返回null)。
test 一个在字符串中测试是否匹配的RegExp方法,它返回true或false。
match 一个在字符串中执行查找匹配的String方法,它返回一个数组或者在未匹配到时返回null。
search 一个在字符串中测试匹配的String方法,它返回匹配到的位置索引,或者在失败时返回-1。
replace 一个在字符串中执行查找匹配的String方法,并且使用替换字符串替换掉匹配到的子字符串。
split 一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中的String方法。

3.常见问题

全局匹配等高级搜索问题

4.解决方案

通过标志进行高级搜索

正则表达式标志
标志 描述
g 全局搜索。
i 不区分大小写搜索。
m 多行搜索。
y 执行“粘性”搜索,匹配从目标字符串的当前位置开始,可以使用y标志。

5.扩展思考

如何使用正则表达式匹配中文字符?

使用括号的子字符串匹配

6.编码实战

7.参考文献

参考一 JS正则表达式语法

参考二 常用正则表达式大全

8.更多讨论

鸣谢

感谢大家观看