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