-
正则:检验字符串是否符合正则表达式所表达的意思:
方法:
匹配test:匹配字符串是不是符合规则
正则.test(要检验的字符串)
返回值:true或false -
捕获exec:从字符串里面获取符合正则规则的那一部分
正则.exec(你要捕获的字符串)
返回值:
1.字符串里面没有符合规则的片段
null
2.字符串里面有符合规则的片段
2.1 基础捕获
返回值是一个数组
[0]是捕获出来的片段
不管有多少个片段,都是捕获第一个片段
不管捕获多少次,都是第一个片段
2.2当正则表达式有()的时候
返回值是一个数组
从索引[1]开始依次是每一个小括号的单独捕获
2.3当正则有全局标识符g的时候
第二次捕获会从第一次捕获的结束为开始继续向后查找,直到找不到了位置,返回null
,再后面一次捕获,依旧会从[0]位置开始查找 -
正则的贪婪性和非贪婪性
正则的贪婪性: 当你给一个符号使用限定符时,它会尽可能多的去捕获内容===>按照最多捕
非贪婪性:正则在捕获时尽可能的的按照最小值来捕获,写限定符时,在后面多加一个+===>按照最少捕 -
标识字符
^匹配字符串的开始
$匹配字符串的结束 -
量词
*匹配前一个表达式 0 次或多次。等价于 {0,}
+匹配前面一个表达式 1 次或者多次。等价于 {1,}。
?匹配前面一个表达式 0 次或者 1 次。等价于 {0,1},紧跟在任何量词 *、 +、? 或 {} 的后面,将会使量词变为非贪婪(匹配尽量少的字符)
{n}匹配前一个字符多少个
- 特殊字符
1.()
1.1 一个整体
1.2 单独捕获
在捕获一个字符串的时候,从左边开始每一个小括号依次是数组里面的[1]开始的内容
2.(?:x) 一个整体但不捕获
3.|
3.1占位或 表示左边或者右边都行,大部分时候和()连用,表示一个整体或者一个整体,|分开的是左边和右边整体
4.[ ] 一个[]占一个字符位置,表示里面的任意一个都行
5 。 [^] 一个[]占一个字符位置,表示非里面的任意一个都行
-
- 表示 至 或者 到
是使用在[]里面的一个字符
- 表示 至 或者 到
-
重复出现
\num
num是一个数字,表示的是正则第num个被捕获的()这个可被捕获的小括号是什么 出现一份一模一样的内容