一、正则表达式
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。
正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。
1、创建正则对象
构造函数:var reg= new RegExp("正则表达式","修饰符“);
字面量:var reg=/正则表达式/修饰符
2、修饰符
修饰符用于执行区分大小写和全局匹配
i 执行对大小写不敏感的匹配。 g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 m 执行多行匹配。
3、方括号
方括号用于查找某个范围内的字符
[0-9] 查找数字0-9里的任何一个数字
[^0-9] 查找除了0-9之外的其他字符 非数字
[A-Z] 查找A-Z的任何一个字母
[a-z] 查找a-z的任何一个字母
[A-z] 查找A-z的任何一个字符
[abc] 查找字符a或b或c
(red|blue|green) 查找red或blue或green的任何选项
4、元字符
元字符(Metacharacter)是拥有特殊含义的字符
\. 查找单个字符,除了换行和行结束符。 \w 查找数字、字母及下划线。 \W 查找非单词字符。 \d 查找数字。 \D 查找非数字字符。 \s 查找空白字符。 \S 查找非空白字符。 \0 查找 NULL 字符。
\b 匹配单词边界。 \B 匹配非单词边界。 \0 查找 NULL 字符。 \n 查找换行符 \f 查找换页符。 \r 查找回车符。 \t 查找制表符。
5、量词
{m} 匹配前一项m次
{m,} 匹配前一项至少m次
{m,n} 匹配前一项至少m次,至多n次
^a 匹配任何开头为a的字符串
a$ 匹配任何结尾为a的字符串
a+ 匹配前一项至少一次 {1,}
a* 匹配前一项至0次或多次 {0,}
a? 匹配前一项0次或一次 {0,1}
reg(?=exp) 正先行断言 reg匹配的内容后面内容满足exp规则
reg(?!exp) 负先行断言 reg匹配的内容后面内容不满足exp规则
(?<=exp)reg 正后发断言 reg匹配的内容前面内容满足exp规则
(?<!exp)reg 负后发断言 reg匹配的内容前面内容不满足exp规则
6、正则对象方法
regObj.test(参数)用于检测字符串是否匹配正则表达式
参数:字符串
返回值:布尔值,如果字符串匹配正则表达式,返回true否则返回false
regObj.exec(参数)用于检测字符串是否匹配正则表达式
参数:字符串
返回值:数组/null,如果字符串匹配正则表达式,则返回数组否则返回null