总结-正则表达式(regular expression)

正则表达式(regular expression)
	概述
		一种字符串匹配的模式
		1.匹配就是在某个字符串查找你想要查找的内容,如果找到了就匹配,找不到就不匹配
		2.正则表达式也是用于查找字符串的,只是比正常的查找更加高级
	应用
		表单验证
		信息过滤
		信息采集
		信息替换
		伪静态
	用法
		match() //它用于匹配查找的内容
			正则表达式写法就是两条斜线作为起始和结尾的标识符。正则语法要写到 “//”之间。
			'php'.match(/h/);
		全局修饰符g
			修饰符应该放到定界符(/)的后面,在正则中,只有修饰符可以放到 / 的后面
			'php'.match(/h/g);
	语法
		量词
			n+ //匹配任何包含至少一个n的字符串
			n* //匹配零个或多个
			n? //零个或一个
			n{x} //数量
			n{x,} //x到无穷
			n{x,y} //x到y
			n{x,y}$ //$检测字符串的结尾是否匹配
			^n{x,y} //^检测字符串的开头是否匹配
			^n$ //匹配整个字符串
		元字符
			. // 表示单个任意字符
			.* //任意字符串
			\w //匹配一个任何数字、字母、下划线
			\W //匹配任何非数字、字母、下划线
			\d //匹配数字
			\D //匹配非数字
			\s //匹配空白
			\S //匹配非空白
			\b //单词边界,没有个数限制
			\B //匹配非单词边界,没有个数限制
			\n //查找换行符
			\r //查找回车符
			\t //查找制表符
		方括号
			方括号表示一个范围,也称为字符簇
			[n] //匹配方括号里面所有的字符
			^[n] //^匹配开头是里面所有字符
			[^n] //将匹配结果取反
			[0-9] //匹配从0 -9 的数字
			[a-z] //匹配从a -z 的字符
			[A-Z] //匹配从A-Z 的字符
			[A-z] //匹配所有大写小写a-z,包括下划线
			[5-8]  //匹配5<=目标<= 8的字符
			(red|blue|green)  //查找任何指定的选项;竖线|表示或者
		修饰符
			g //全局匹配
			i //不区分大小写
			 m //执行多行匹配
		转义符号
			\  //转义正则中使用的符号
	分组/捕获/反向引用
		(正则1)\1(正则2)\2  //(正则1)是捕获 //\1是引用
		(\d)\1(\d)\2 //前两位相同,后两位相同
		(?:\d)\1(\d)\2  //禁止引用捕获1
	匹配中文(utf-8)
		中文的Unicode编码从4E00开始,到9FA5结束
		JS语法:[\u4E00-\u9FA5]; //u表示Unicode
		PHP匹配中文
			preg_match_all(正则表达式, 字符串, 匹配结果);
			preg_match_all('/[\x{4e00}-\x{9fa5}]+/u',  $str, $out);
	环视(断言/零宽断言/正向预测/负向预测)
		Every(?=n) //匹配任何其后紧接指定字符串n的字符串
		Every(?!n) //匹配任何其后没有紧跟指定字符串n的字符串
		Every(?!n)[A-Z]  //匹配A-Z中排除了n的字符串
	正则对象的成员
		exec(); 方法//执行一次正则匹配,标记下移。返回数组类型结果,否则返回null
		lasrlndex; 属性//标记下一次开始匹配的字符位置
		test();方法 //检测目标字符串与正则是否匹配,返回true和false
	字符串对象的成员
		search() //搜索符合正则的结果,返回结果位置,有则停止匹配,没有返回-1
		match() //匹配正则的子串,有则返回数组,无则返回null
			子表达式是:(\b)存储的结果
		split() //将字符串分割成数组
		replace() //默认只替换一次,加g全部替换。
			//\1 == $1
			//$`捕获左边所有字符
			//$'捕获右边所有字符
			//复杂替换使用函数
	PHP中的正则表达式
		php中正则的写法:‘/正则/’,必须单引号
		preg_match()函数 //返回匹配的次数,匹配一次,返回值是零或一和值。
		preg_match_all()函数 //执行正则中的全局匹配,返回值是二维数组
		preg_replace()函数 //查找替换所有成立的正则
	贪婪模式
		贪婪模式:正则默认贪婪模式,匹配到符合的结果后,不会返回值,而是继续向后匹配,直到不满足条件为止,将所有结果组合到一起,返回结果
		非贪婪模式:/\w+?/g //?表示零个或一个
		PHP非贪婪模式:/\w+/U 
			//U表示禁止贪婪
			//u表示Unicode编码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值