正则表达式的作用是高效的匹配字符串。学习完正则表达式之后,涉及到字符串的操作第一时间要想到正则表达式。

1.优势

创建正则

字面量方式eg: let reg = /afei/ ,用于匹配字符串中的 "afei" 字段构造函数形式eg: let reg = new RegExp("afei") ,用于匹配字符串中的 "afei" 字段。正则方法

正则自身的方法eg: reg.test(str) ,检测字符串str中是否包含reg规则,返回布尔值。

eg: reg.exec(str) ,返回包含匹配结果的数组,没有则返回null。如果正则有 g 标 志,那么继续调用reg.exec(str) 时,紧接着上次的匹配位置往下匹配。

字符串中能使用正则的方法eg: str.match(reg) ,返回包含匹配结果的数组,和exec类似。

eg: str.replace(reg,str|function) ,将匹配的内容用第二个参数的str或者函数返回 值替换,返回替换得到的新字符串。

eg: str.split(reg) ,按照正则规则切割。

标志

可以在正则表达式后加上标志,标志分为三种:

i (不区分大小写), g (全局匹配), m (换行匹配)。

其中i g 较为常用。eg: let reg = /afei/i ,既可以匹配字段"afei",又可以匹配字段"AFei"。

转义

普通意义\n \r \t 等,用于匹配字符串中对应的转义。

特殊配合\s \S 空格 非空格

\d \D 数字 非数字

\w \W 字符(数字、字母、下划线) 非字符

\b \B 独立部分(起始位置、结束位置、以及除了\w外的) 非独立部分

特殊符号转义比如要匹配 / 这个字符,不能直接写,需要转义,正则里面需要转义的特殊符号有: ()[]{}\/^$|?*+. 。

关键词: 正则表达式