初识正则表达式

概念

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

表达式合集

正则表达式由特殊的字符组成

[ ] :中括号中可以写多个任意字符,代表只匹配一个字符
例如: [abc] :代表可以匹配a,b,c三个字符中的任意一个字符

js中定义一个正则表达式

 /../ 以/开头,以/结尾 中间的内容为正则表达式
例如: let regex = /[abc]/

new RegExp 对象

例如: let regex = new RegExp("[abc]")

上述的代码可以将一个字符串转成正则表达式

正则表达式中的两个方法

test() : 返回一个boolean值,代表是否匹配
exec() : 返回一个数组,数组中存放的是正则匹配的元素

贪婪式表达式

X*: 匹配0到多个,等价于X{0,}

X+: 至少匹配一个,等价于X{1,}

X?: 最多匹配一个,等价于X{0,1}

非贪婪式表达式

X*?:匹配0到多个

X+?:至少匹配一个

X??:最多匹配一个

限定符

^: 如果出现在正则的第一个位置,则代表以什么开头

$: 如果出现在正则的尾部,代表以什么结尾

选择符

|: 代表 "或"

分组

(...): 小括号,组从左到右进行查询

引用

\num: 引用第 num 组的匹配的内容	num 从1开始

命名捕获组

(?p<key>\d) 将 \d+ 匹配的内容赋值给 key,可以通过 exec().groups 来进行获取

?:	非捕获匹配

断言

正向确定断言	?=

正向否定断言	?!

反向确定断言	?<=

反向否定断言	?<!

更多推荐

ES6正则表达式