正式表达式及部分方法笔记

1.正则表达式:也叫规则表达式,按照移动的规矩组成的一个表达式—是来匹配字符串,
*
* 中国移动电话10086 中国联通10010,中国电信:10000—可以写一个正则表达式匹配所有数字
*
* 正则表达式:由元字符 或者 限定符 组成的一个式子
*
* 1.元字符===================
* 1.1 .-- 表示出了换行符以为的任意一个字符’111’ ‘,’
* 1.2 []—表示范围:
* [09]:表示09之间任意一个数字’123’‘534’
* [a-z]:表示a到z之间任意一个字母 ‘你好吗xixi’
* [A-Z]:表示A到之间任意一个字母
[a-zA-Z]:所有的字母中任意一个
[1-8]:表示到8之间任意一个数字
–表示把正则表达式中的意义取消掉
[.]:表示一个点.
1.3 |— 或者
[0-9]|[a-z]:要么是一个数字,要么是一个小写的字母 ‘哈哈0 嘻嘻x’

			1.4 ()---分组,提高优先级
				[0~9]|([a-z])
				([0~9])|([a-z]):两个组,从左往右计算
				
		2.又是元字符,又是限定符======================
			2.1 *---表示前面的表达式出现0次或者多次
					[a-z][0-9]*:任意一个小写字母,后面要么0个数字,要么多个数字
					'afjaklakdlas7'
			2.2 +------表示前面的表达式出现了1次或者多次
					[a-z][0-9]+:任意一个小写字母,后面至少出现一个数字
					'ajljlj99808'
			2.3 ?---- 表示前面的表达式出现了0次或者1次
					[3][a-z]? : 3,后面出现-一个字母,或者-一次也不出现
					'3666a' '3j' '3'
					----阻止贪婪模式
			3.限定符=================================
			3.1  {n}----限定前的表达式出现了n次
					[0-9]{3}:数字一定是3个
					'哈哈6680嘻嘻0'
				3.2	{n,}---前面的表达式出现n次到多次
				
				{0}----表示前面的表达式出现了0次,或者多次---和*一样
					[a-z][0-9]{0,}:任意一个小写字母,后面要么0个数字,要么多个数字
					'哈哈abc89999'
				{1,}----表示前面的表达式 出现1次 或者多次 ---和+ 一样
				{0,1}---表示前面的表达式  出现0次
			
			3.2{n,m}----前面的表达式出现n到m次
			
				{3,7}---表示前面的表达式  出现3次或者到7次
					[0-9]{3,7} '哈哈12345678'
				
				错误的写法 ;{,10};
				
			4.^-----以是什么开头
			^[0-9]:以数字开头
			^[a-z]:以字母开头
			------取反
			[^0-9]:表示非数字
			[^a-z]:表示非小写字母
			
		 5.$----以什么结束	
			[0-9]$:表示一定要以数字结尾
			
			^[0-9]$:严格模式  '哈哈'
			
			
		6.
			\d:任意一个数字 [0-9]
			\D:任意非数字 字母 ,特殊符号
			\s:空白符
			\S:非空白符
			\w:非特殊符号 数字,字母,下划线 [0-9a-zA-z]
			\W:特殊符号 ,。?#...

一些方法
全局模式匹配:g 用法:/[0-9]/g

		1. match方法
		字符串.match( 正则表达式)----返回一个数组,储存匹配的值
		var str ='中国移动:10086,中国联通:10010,中国电信:10000';
		var reg =/\d{5}/g;
		console.log(str.match(reg))	
		
			var str= '123@qq.com,zhangsan@fs.fs.cn,123@163.com,hhh@xxx.vvv.com';
		   var reg =/[0-9a-zA-Z.-_]+[@][0-9a-zA-Z._]+([.][a-zA-z]+){1,2}/g;
			
		   var reg =/\w+@\w(\.\w+)?/g;
		   console.log(str.match(reg));
	   
		   //2.replace
		   //字符串.repace(正则表达式,替换的字符串);
	   var str ='张宗源很有气质,超级nice';
		   str.replace(/帅/g,'好');
		   console.log(str);
		   
		   //3.exec():字符串中国的正则表达式的匹配
		   //正则表达式对象.exec()
		   str='中国移动:10086,中国联通:10010,中国电信:10000'
	   		var reg =/\d{5}/g;
	   		console.log(reg)
		   
		   
		   
		  4.split()
		-可以将一个字符串拆分为一 一个数组
	-方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串

	  var str ="1a2b3c4d5e6f7"
		   
		   var result =str.split(/[A-z]/)
		   console.log(result)//1,2,3,4,5,6,7
		   
		   5.search()
			可以搜索字符串中是否含有指定内容
			如果搜索到指定内容,则会返回第一次出现的索引, 如果没有搜索到返回-1
			它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
			搜索字符串中是否含有abc或aec或afc
		   str ="hello hello aec afc";
		   result = str.search(/a[bef]c/);
		   console.log(result)//6		


			match( )
			-可以根据正则表达式, 从一个字符串中将符合条件的内容提取出来
			-默认情况下我们的match只会找到第-一个符合要求的内容,找到以后就停止检索
			我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容
			可以为一个正则表达式设置多个匹配模式,且顺序无所谓
			match( )会将匹配到的内容封装到一个数组中返回,即使只查询到- -个结果

			var str ="1a2b3c4d5e6f7";
			result =str.match(/[\d]/g )
			result1 =str.match(/[a-z]/g )
			console.log(result)//1234567
			console.log(result1)abcdefg
		   
		    2.replace
		   
2. replace
		    // 字符串.replace(正则表达式,替换的字符串);
		    var str = '生活很残酷';
		    str = str.replace(/残酷/g, '美好');
		    console.log(str);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值