持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情
前言
正则表达式大家一听就头疼,那么多符号完全记不住啊?
这些正则吗?
今天要教你怎么写手机号验证正则?
/^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/
密码强度正则?
至少8-16个字符,至少1个大写字母,1个小写字母和1个数字:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/
只有中文、数字、字母?
/[a-zA-Z0-9\u4E00-\u9FA5]*/
太难了
这些正则谁看得懂啊,当然是网上去搜啊,我们要实用的正则,对于我们能真的用起来的
简单学一学
既然要用起来,还是需要简单学一学的的,只需要记住几个就行了
/.*/ //匹配任意数量字符
用得最多的应该就是这个了,"." 表示匹配字符,"*" 表示0个或多个
有了这个,我们就能做很厉害的事情了
例子
把上面这个列表转换成下面这个
可以看起其实数据很规律,很适合使用正则替换
来看看我们应该怎么写
//原始数据,每行前面有一个空格,然后是字符,空格,字符
report 上报信息
basic 基础信息
verify 核实信息
check 核查信息
dispose 处办信息
apply 申请审核信息
可以看到截图里面,选择正则替换模式,编辑器自动提示出来替换后的内容了
解析一下
再说一下原始数据格式为:空格+字符+空格+字符
查找表达式: (.*) (.*) 这个表达式很明显,意思了,只是多了一个括号,是引用的意思
替换表达式: static $1 = '$1'; 这里的$1就是上面的第一个括号内容,第二个括号内容是$2,用在下面的例子
可以看到已经替换成我们想要的格式了
再讲一点
既然都学到这儿了,我们再讲几个常用的
/^aaa/ 表示这一行的行首必须是"aaa"
/.*?/ ""后面放一个"?"表示非贪婪匹配,因为""是任意多个,默认是尽量多的匹配,加上“?”就是尽量少的匹配,对于一行有重复的时候,可以试一下
/\d/ 表示匹配一个数字
/\d*/ 表示匹配任意个数字
好了就学这么多吧,多了也记不住,应该够你用了
总结
正则对于来说最大的用处就是上面的提到的对于有很多数据,看起来是重复步骤的时候,这时候我就会想到用一下正则,大大提升效率
对于那些复杂的验证正则还是网上查一查,那不是更快吗