正则基础用法

闲着绝望,忙着还有希望

推荐正则文档简单正则一手掌握

一,正则的写法
1,字面写法:var p= /xyz/g
2,构造写法:var p=new RegExp(x,g)
两种写法比较:
1,构造写法可以动态传递正则表达式
2,构造写法修饰符放到参数的第二位new RegExp(x,g/i)
注意点:构造写法转义需要双斜杠 \\
例如:new RegExp('^\\d+$') 校验数字
二,常用方法
var str='xxxx'
var p=/xyz/
1,test:p.test(str)           //返回true/false  是否存在指定值
2,exec:p.exec(str)       //返回匹配的嘻哈数组,   索引0为匹配的第一个, 无匹配返回null        
3,match:str.match(p)      //返回匹配的数组 ,无匹配返回null    
4,replace:str.replace(p,'将要替换的值')
5,split:str.split(p)            //返回数组
三,简便缩写
/[a-z]/:小写字母
/[A-Z]/:大写字母
/[A-z]/:大小写字母
/[A-z0-9_]/ == /\w/:数字字母下划线
/[0-9]/ == /\d/:数字
四,特殊字符
正则基础用法_第1张图片
本图参考简单正则一手掌握
五,断言
1,/(?=)/:前向断言,根据已知的结尾,获取前面的值
(?!):排除已知的结尾,获取前面的值

例:let str='123456xxx.png789'     
利用前向断言将xxx.png改为abc.png
console.log(str.replace(/.{3}(?=.png)/g,'abc'))

2,/(?<=)/:后向断言,根据已知的开头,获取后面的值
(?
六,好用的几个正则表达式
/^\s\*|\s*$/g://清除开头和结尾的空格
name.replace(/.(?=.)/g,"*")://姓名脱敏

你可能感兴趣的:(正则基础用法)