JavaScript我是正则表达式

68 阅读1分钟

1、正则表达式:

规定了字符串的字符出现的规则

真实开发中:优先面向百度开发,学习正则的目的(1、看得懂可以改 2、笔试和面试)

何时使用:切割、替换(加g)、验证(前加^后加$)

如何使用:

1、最简单的正则就是原文本身:/原文/后缀

g:找全部 i:忽略大小写

2、备选字符集:[0-9]

3、预定义字符集:简化备选字符集


		一位数字:\d
		一位数字字母下划线:\w
		一位空白字符:\s

4、量词:


		有明确数量
			{n,m} - 前边相邻的字符集,至少n个,最多m个
			{n,} - 前边相邻的字符集,至少n个,多了不限
			{n} -  前边相邻的字符集,必须n个

		无明确数量
			?:可有可无,最多一个
			*:可有可无,多了不限
			+:至少一个,多了不限

5、选择和分组:


		(规则1|规则2)

6、指定匹配的位置

		开头:^
		结尾:$
		特殊:两者同时使用,前加^后加$,代表要求用户输入的从头到尾完全匹配 - 只要是做验证就必加

7、预判:实现密码强度

		/^(?![0-9A-Za-z]+$)[0-9A-Za-z\u4e00-\u9fa5]{4}$/

2、字符串支持正则的API:

1、切割:var arr=str.split(RegExp);

2、替换:

	基础替换法:
		str=str.replace(RegExp,"固定新内容")

	高级替换法:
		str=str.replace(RegExp,a=>{
			return 通过判断a关键字的长度的不同,返回不同的内容;
		})

	格式化:
		str=str.replace(RegExp,(a,...)=>{
			如果正则里有分组,我们就会得到更多的形参,有几个分组,就会多出几个形参!
			始终:
			第2个形参保存的是第1个分组匹配到的内容
			...
		})

3、正则对象:

创建: 直接量:var reg=/正则表达式/后缀 构造函数:var reg=new RegExp("正则表达式","后缀");

API:
	验证:var bool=reg.test(user); - 这个bool仅仅就是给出一个正确或错误的提示