正则表达式
正则表通常被用来检索、替换那些符合某个模式或规则的文本。
常用运算符与表达式:
^ 开始
() 域段
[] 包含,默认是一个字符长度
[^] 不包含,默认是一个字符长度
{n,m} 匹配长度
. 任何单个字符(\. 字符点)
| 或
\ 转义
$ 结尾
[A-Z] 26个大写字母
[a-z] 26个小写字母
[0-9] 0至9数字
() 域段
[] 包含,默认是一个字符长度
[^] 不包含,默认是一个字符长度
{n,m} 匹配长度
. 任何单个字符(\. 字符点)
| 或
\ 转义
$ 结尾
[A-Z] 26个大写字母
[a-z] 26个小写字母
[0-9] 0至9数字
[A-Za-z0-9] 26个大写字母、26个小写字母和0至9数字, 分割
语法:
{min,max} 最少min个,最多max个
{mun} 固定长度
{min,} 最少min个,多了不限
重复: 定义字符出现频次
n? 匹配零次或一次字符 a?
n* 配零次或多次字符 a*
n+ 匹配一次或多次字符n a+
n{x} 匹配字符n出现x次 a{3}
n{x,y} 匹配字符n出现x到y次 a{2,4}
n{x,} 匹配字符n出现>=x次 a{3,}
正则表达式中如果出现+*?,都要用\转译
[]里面的当普通字符
正则表达式|线表示或者
egExp对象:专门封装一条正则表达式,提供使用正则表达式的常用API
如何使用RegExp对象:1.创建 2.调用API
如何创建正则表达式对象:var regExp=/正则表达式/ig;
exec:查找关键字的位置,及内容
indexOf不支持正则,search支持正则,每次只能找一个
match所有内容,但的不到位置
var[0]:找到关键字内容
arr.index属性:找到的关键字位置
exec方法每次只能找一个,但每次自动修改regExp对象的lastIndex属性
regExp对象的lastIndex属性,表示下次开始匹配的位置
var regExp=new RegExp("\\d{6}");动态创建正则表达式
贪婪模式:.+ .* 默认先匹配整个字符串,再缩小范围!
懒惰模式:(.+?) (.*?) 从第一个字符开始,向后扩展范围