正则表达式笔记

正则表达式

在线工具

url:[http://regexper.com](http://regexper.com)

简单表示

循环:
	?:表示0或1次出现
	+:表示1~n次出现
	*:表示0~n次出现
	{n}:循环出现n次
	{n,m}:循环出现n~m次
	{n,}:循环至少n次

匹配:
	.:匹配任意字符

分组:
	():括号内的内容属于分组的内容 

特殊转义:
	\b:单词边界
	\B:非单词边界
	\d:数字
	\D:非数字字符
	\s:空白符
	\S:非空白符
	\w:单词字符
	\W:非单词字符

* 一般变大写就是取反的意思

特殊字符:
	[/-]:表示/或者-字符
	^:表示开头,在表达式的中间,如[^abc]:表示不是abc的其它字符,表取反
	$:表示结尾,或者是替换后的分组后的分组序号
	-:范围类,a-z表示a到z的字符
	?:{3,6}?加了?后,表示非贪婪模式,匹配到3个就停止一次匹配,默认是贪婪模式,会尽可能多的匹配字符串
	|:分支(on|ca)
	?: :(?:)表示忽略分组

前瞻:
	正向前瞻:exp(?=assert)
	负向前瞻:exp(?!assert)
	* 匹配的只是见面的exp,后面是验证字符串的,不参与匹配替换

在JavaScript中的使用

字面量
	声明:
		var reg=/ \bis\b /(g);//写在两个/之间的是正则表达式,加了g后,表示全文匹配,否则是匹配一个而已
	使用:
		String.replace(reg,'IS');	
构造函数:
	声明:
		var reg=new RegExp('\\bis\\b','gim');\适用于转义

参数:
	g:global 全文搜索,不添加,搜索到第一个匹配为止
	i:ignoreCase 忽略大小写,默认大小写敏感
	m:multiline 多行搜索

方法:
	reg.test('String');测试String是否与reg的正则匹配
		测试后后改变lastIndex的值
	reg.exe('String');使用正则表达式模式对字符串执行搜索,并加.将更新全局RegExp对象的属性以反映匹配结果。
		没有就返回null,否则返回一个结果数组:
			index:声明匹配文本的第一个字符的位置
			input:存放被检索的字符串string,后续的字符串表示分组的匹配的结果信息
		加了g:lastIndex就有作用,每次匹配后会更新lastIndex的信息,下次匹配就从lastIndex开始匹配,每次只是给出一次的结果,如果是要全文的信息,要利用循环得出结果。
	String.search(reg|string);string会转换成正则表达式,成功返回index的下标,失败index是-1;g标志对表达式无效
	String.match(reg):不加g和exec基本相同
		加了g后,返回所有的匹配的字符串
	String.splite(reg);返回分割后的数组
	String.repalce(reg,'content'|function);
		function(match,groupInfo,index,origin);
				匹配信息,分组信息(根据分组的数量,会有多个参数),匹配下标,原文
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值