1、建立RegExp对象
一、var re=/.../[falgs];
二、var re=new RegExp("...",["flags"]);
三、var re=new RegExp(new RegExp("..."));
四、var re=new RegExp(/.../);
五、falgs参数的可选值
(0)、标志 对应属性 功能说明
(1)、g global 全局标志,表示找出全部的pattern
(2)、i ignoreCase 表示匹配时不区分大小写
(3)m multiline 更改^和$的含义,使他们分别在任意一行的行首和行尾匹配,而不单单在整个字符串的 开头和结尾匹配
2、简单语法
0、模式 // 描述
一、c //c表示一个或多个普通字符,匹配字符串c
二、{n,} //n是一个非负整数,表示至少匹配n次
三、{n,m} //m和n都是非负整数(n<=m),表示至少匹配n次且最多匹配m次
四、\ //转义字符
五、^ //匹配字符串的开始位置
六、$ //匹配输入字符串的结束位置
七、* //匹配前面的字符或子表达式零次或屡次【包括该字符串自己】==》{0,}
八、+ //匹配前面的字符或子表达式一次或屡次==》{1,}
九、? //匹配前面的字符或子表达式零次或一次==》{0,1} 当该字符紧跟在任何一个其余限制符后面时,非 贪心模式(匹配搜素到的、尽量短的字符串)
十、. //匹配除"\n"以外的任何单个字符
十一、x|y //匹配x或y
十二、[xyz] //字符集合匹配包含的任意一个字符(只匹配其中一个)
1三、[^xyz] //反向字符集合,匹配未包含的任意符.
1四、[a-z] //字符范围,匹配指定范围内的任意字符 ^[A-Za-z0-9]+$表示由数字和26个英文字母组成的 字符串
1五、[^a-z] //反向字符范围,匹配任何不在指定范围内的任意字符
2、'非贪心'模式
0、模式 //描述(尽量少重复)
一、*? //重复任意次
二、+? //重复1次 或更屡次
三、?? //重复0次或1次
四、{n,m}? //重复n~m次
五、{n,}? //重复n次以上
六、{n}? //重复仅n次
3、正则表达式转义语法
0、模式 //描述
一、\b //匹配单词边界
二、\B //匹配非单词边界
三、\cx //匹配由x指定的ASCII控制字符
四、\d //匹配一个数字字符
五、\D //匹配一个非数字字符
六、\f //匹配一个换页符==》\x0c \cL
七、\n //匹配一个换行符==》\x0a \cJ
八、\r //匹配一个回车符,==》\x0d \cM
九、\s //匹配任何单个字符,包括空格、制表符、换页符等==》[\f\n\r\t\v]
十、\S //匹配任何单个字符,但不包括空白
十一、\t //匹配一个制表符==》\x09 \cI
十二、\v //匹配一个垂直制表符==》\x0b \cK
1三、\w //匹配包括下划线的任何单词字符
1四、\W //匹配任何非单词字符
1五、\xnn //匹配nn,此处的nn是一个16进制转义码
1六、\num //匹配num,此处的num是一个正整数
1七、\n //标识一个8进制转义值或一个反向引用
1八、\nm //标识一个8进制转义码或反向引用
1九、\nml //当n是8进制数(0~3),m和1是8进制数(0~7)时,匹配8进制转义码nml
20、\unnnn //匹配nnnn,其中nnnn是以4位16进制数表示的Unicode字符
2一、\0 //匹配NUL,即4位16进制数\u0000或者两位16进制数\x00
4、捕获语法
0、模式 //描述
一、(pattern) //匹配pattern并捕获该匹配的子表达式
二、(?:pattern) //匹配pattern但不捕获匹配结果,不存储供之后使用的匹配
三、(?=pattern) //正向预查,在任何匹配pattern的字符串开始处匹配查找字符串
四、(?!pattern) //执行反向预测先行搜素的子表达式,该表达式匹配不处于匹配pattern的字符串的起点的搜 素字符串
5、优先权顺序 //高------>>>底
0、操做符 //描述
一、\ //转义符
二、()、(?:)、(?=)、(?!)、[] //圆括号和方括号
三、*、+、?、{、n}、{n,}、{n,m} //限定符
四、^、$、\任何元字符 //位置和顺序
五、| //"或"运算