主题
正则
什么是正则
规则表达式应用场景
表单验证可视化测试工具
https://regexper.com/正则使用
定义:
字面量 //
构造函数:new RegExp()区别:
new RegExp()可以放变量
字面量不可以方法
test() 检测一个内容是否与正则匹配 匹配返回true 不匹配false
exec() 检测一个内容是否与正则匹配 匹配返回数组 不匹配null正则修饰符:
g : 全文匹配
i : 不分区大小写
m : 换行(不常用)限定符
^ 开始
$ 结束分组
() 把部分内容组合在一起字符类(获取分组内的内容)
$1
$2
$3
...
运行前提 正则必须执行一次
例如:
var str = '2021-06-25';
var reg = /^(\d{4})-(\d{2})-(\d{2})$/;
console.log(str.replace(reg,'$1'))
//或者
reg.test(str)或者 reg.exec(str)
console.log(RegExp.$1,RegExp.$2,RegExp.$3)重复
重复最少0次 最多不限
重复最少一次 最多不限
?重复最少0次 最多一次
{n} 重复n次
{n,m} 最少重复n次 最多不限
{n,} 最少重复n次 最多不限元字符 (http://c.biancheng.net/view/5632.html)
[] 匹配括号内任意一个
[^] 除了括号内任意字符
[0-9] 匹配0-9范围
[a-z] 匹配小写a-z
[A-Z] 匹配大写A-Z
[^a-z] 匹配任何不在指定范围内的任意字符
[a-zA-Z0-9] 匹配大小写 数字
\d 匹配数字
\D 匹配非数字
\w 匹配数字字母下划线
\W 匹配非数字字母下划线
\s 匹配空格
\S 匹配非空格
\b 匹配边界
\B 匹配非边界
\n 换行符
\0 查找 NUL字符
\f 查找换页符
\r 查找回车符
\t 查找制表符
\v 查找垂直制表符
. 除换行符以外的任意字符
? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。运算符
| 替换,"或"操作
/ 转义字符串方法可以配合正则使用
replace
match 类似于exec (查找返回对应的值[值是数组] 没有找到返回null)
**支持全局模式
贪婪模式 (/\d{3,6}/g) 取最大值
非贪婪模式(懒得模式) (/\d{3,6}?/g) 取最小值