js正则表达式入门

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			var reg = /abc/;
			var str = "1abc3abc"
			//正则的方法
			//只要含有匹配正则的字串,返回true
			console.log(reg.test(str));
			//返回符合条件的第一个字串
			console.log(reg.exec(str));
			//字符串提供的方法
			//返回符合体哦案件的第一个字符串(没有全局匹配)
			console.log(str.match(reg));
			//返回符合条件的第一个字串下标
			console.log(str.search(reg));
			/* 修饰符:
			   i:忽略大小写
			   g:全局匹配,返回所有符合条件
			   m:多行匹配,前提要加上全局匹配
			*/
		   var reg2=/AbC/ig;
		   var str2="1abc2ABC";
		   console.log(str2.match(reg2));
		   //跟着游标检索
		   console.log(reg2.lastIndex);//0
		   console.log(reg2.exec(str2));//abc
		   console.log(reg2.lastIndex);//4
		   console.log(reg2.exec(str2));//ABC
		   console.log(reg2.lastIndex);//8
		   console.log(reg2.exec(str2));//null
		   
		   //^开头 以abc开头
		   var reg3=/^abc/gm;
		   var str3="abc\nABC";
		   console.log(str3.match(reg3));
		</script>
	</body>
</html>

预查与贪婪匹配

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			var str="1sad5f2sa";
			//贪婪匹配:能匹配多,就不匹配少
			var reg=/\w{2,3}/g;
			console.log(str.match(reg));
			//非贪婪匹配:能匹配少,就不匹配多
			var reg=/\w{2,3}?/g;
			console.log(str.match(reg));
			
			//正向预查
			//正向正预查
			var str="a13sab26q"
			var reg=/\d{2}(?=s)/g;//后面是s的俩位数字
			console.log(str.match(reg));//13
			//正向反预查
			var reg=/\d{2}(?!s)/g;//返回后面不是s的俩位数字
			console.log(str.match(reg));//26
			
			//反向预查
			//反向正预查
			var str="as15qab27"
			var reg=/(?<=s)\d{2}/g;//前面是s的俩位数字
			console.log(str.match(reg));
			var reg=/(?<!s)\d{2}/g;//前面不是s的俩位数字
			console.log(str.match(reg));
			
			//字母汉字数字组合6-20位
			var reg8 =/^(?!([a-zA-Z]+|\d+|[\u4E00-\u9FA5]+)$)[\u4E00-\u9FA5a-zA-Z\d]{6,20}$/;
			
			//一切字符
			var reg=/\w|\W/g;
			var reg=/\d|\D/g;
			//匹配"AABB";
			var str="aaqw11dd";
			//反向应用:\数字对应前面相应的括号
			
			var reg=/(\d)\1([a-z])\2/g;
			var reg2=/\d[a-z]/g;
			console.log(str.match(reg));//["11dd"]
			console.log(str.match(reg2));
		</script>
	</body>
</html>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值