正则表达式

转义字符

    \"-----实现在双引号里再放双引号
    \r-----行结束符,即回车
    \t-----制表符,键盘得tab键                                                                                                                  \n------实现换行

1、正则表达式RegExp(Regular Expression):匹配 特殊字符或有特殊搭配原则的字符 的最佳选择

2、直接量  其本身是一个对象,表达的意义是一种规则。

(1)在两个斜杠中间写规则。

var  reg=/abc/;
var  str="abcd";
reg.test(str)  ; 	//true 检查在字符串str中有没有符合reg规则得字符

 另一种创建表示方法

			var reg=new RegExp("小狮子")
			var str="小狮子1314"
			var res=reg.test(str)
			console.log(res) //true

也可用match方法来查看

			var reg=/小狮子\./  
			var str="小狮子.1314"
			var res=str.match(reg)
			console.log(res) //['小狮子.']

 ^开头表示开头,$结尾表示末尾

笔试题 去掉字符串的头尾空格
			 str.tirm()			 	
		     var reg=/^\s/
			 var str=" abc"
			 var re=str.replace(reg,"")	
			 console.log("-"+re)

3、在正则表达式得双斜杠后边还可以加字母i、g、m,表达其属性

			var reg=/a/i   
			var str="bAcdefAg666"
			var res=reg.test(str)
			console.log(res) //true
			
			
			var reg=/a/ig
			var str="bAcdefAg6acbb66"
			var arr=str.match(reg)
			console.log(arr) //['A', 'A', 'a']

4、方括号

 ^括号中表示非的意思,  |表示或的意思

			var reg=/[赵钱孙][云鹤][abc]/g;
				var str="a钱鹤b赵云cd";
				var arr=str.match(reg);
				console.log(arr)  //['钱鹤b', '赵云c']
			var reg=/^[赵钱孙][云鹤][^(a-y)]/g;
				var str="钱鹤z赵云zd";
				var arr=str.match(reg);
				console.log(arr) //['钱鹤z']
					 
	var reg=/(abc|bcd)/g;
	var str="abc";
	str.match(reg);//["abc"];//该规则既能匹配出字符串"abc"
	str="bcd";
	str.match(reg);//["bcd"];//该规则又能匹配出字符串"bcd"
	reg=/(abc|bcd)[0-9]/g;  //匹配规则可以任意组合
	str="bcd2";
	str.match(reg);

5、元字符

元字符是拥有特殊含义的字符,元字符也可以组合放进中括号里去使用,一个元字符代表一位(\d|\D)

 6、量词

 7、正则对象方法

方法描述
exec寻找字符串中是否含有检测的字符。返回:将找到的字符按数组返回。(execute)
test检测字符串中是否含有检测的字符。返回:boolean。

	var reg=/ab/g;
	var str="abababab";
	reg.exec(str);//["ab"],尽管具有global属性,仍然只返回一个"ab"
	
	//再继续,只会从下一个开始
	reg.exec(str);//["ab"]
	reg.exec(str);//["ab"]
	reg.exec(str);//["ab"]
	reg.exec(str);//null  
	reg.exec(str);//["ab"]
	reg.exec(str);//["ab"]

8、支持正则表达式的String对象的方法

方法描述
search检索与正则表达式相匹配的值,返回匹配字符串的位置
match找到一个或多个正则表达式的匹配
replace替换与正则表达式匹配的字串
split把字符串分割为字符串数组
			var str="abcasdfdsgsdfg"
			var reg=/a/g
			var str2=str.replace(reg,"***")
			console.log(str2) //***bc***sdfdsgsdfg
reg=/(\w)\1(\w)\2/g;
str="edbaabbbbee";
str.search(reg);
str.search(reg);//3,与lastIndex无关,只返回第一个符合匹配规则的索引位置

reg=/(\w)\1(\w)\2/g;
str="abc";
str.search(reg);//-1

 练习题

			去掉字符串前后空格
            var str="   hello  "
			var reg=/(^\s+)|(\s+$)/g
			// var re=str.replace(reg,"")
			var re=str.trim()
			console.log("a"+re+"x")
			重复次数
			var str="helloalbc"
			var count=0;
			var temp=0;
			while (str.indexOf("l",temp)!=-1){
				count++
				temp=str.indexOf("l",temp)+1
			}
			console.log(count)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值