小白一文搞懂正则表达式

大学的时候学过,没搞明白,工作的时候学了几次,还是懵逼的状态,写篇入门文字记录下如何快速搞懂正则表达式

首先写几个常用的正则表达式:

1.匹配手机号 1[34578]\d{9}
2.QQ号,第一位不能是05-10/^[1-9]\d{4,9}/g
3.用户密码,数字开头,6-20^[a-zA-Z]\w{5,19}$

小白一文搞懂正则表达式_第1张图片
小白一文搞懂正则表达式_第2张图片

看着图片,对照下常用的正则表达式,下面写下解释
1. 手机号只能1开头+第二位只能是34578其中一个+第三位到第十一位只能是数字,\d是匹配数字,{9}表示长度为9
2. 第二和第三差不多,[1-9]表示匹配19的数字,差不多的,[a-zA-Z]表示匹配大小写英文字母
3. 补充下一个非常常用的校验:/^[a-zA-Z0-9-_\u4e00-\u9fa5]*$/,比如校验输入名称只能是大小写英文字母,数字,或者汉字,或者-和_。
4. 解释下{}
 {n}:精确匹配出现的次数,例如 \d{3} 匹配三个连续的数字。
 {n,}:至少匹配 n 次,例如 \d{4,} 匹配至少四个连续的数字。
 {n,m}:匹配 n 到 m 次,例如 \d{2,4} 匹配出现两到四次连续的数字
5. ^$用来匹配字符串的开始和结束,可能没怎么看明白,下面写几个例子:
 kang lalalalalakang hahahaha kang
/kang/ 可以匹配到所有的一共三个kang
/^kang/ 只能匹配到字符串一开始的kang
/kang$/ 只能匹配字符串最后的kang
/^kang$/ 一个都匹配不到
6. ^还可以放到[]里面,意思是匹配除了括号里面的任意字符

补充一个常用的替换方法,正常replace只能替换搜索到的第一个,如果想要全部替换,需要

const str='abcABCabcBBBCCCAbC'
console.log(str.replace(/abc/g,'!'));

在这里插入图片描述

如果想要忽略大小写,后面再加个i

const str='abcABCabcBBBCCCAbC'
console.log(str.replace(/abc/gi,'!'));

小白一文搞懂正则表达式_第3张图片

未完待续。。。

你可能感兴趣的:(正则表达式)