1、正则表达式(regular expression)
是一种字符串匹配的模式,用来检查一个字符串中是否包含指定模式的字符串。
2、正则表达式的创建
var reg = /white/;var reg = new RegExp("white","g");
3、正则表达式的修饰符
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
i 不区分大小写
m 多行匹配
4、正则表达式符号
方括号:方括号用于查找某个范围内的字符:
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
(red|blue|green) 查找任何指定的选项。
元字符:元字符(Metacharacter)是拥有特殊含义的字符:
/…/ 代表一个模式的开始和结束
^ 匹配字符串的开始
$ 匹配字符串的结束
/s 任何空白字符
/S 任何非空白字符
/d 匹配一个数字字符,等价于[0-9]
/D 除了数字之外的任何字符,等价于[^0-9]
/w 匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]
/W 任何非单字字符,等价于[^a-zA-z0-9_]
. 除了换行符之外的任意字符
正则表达式重复字符(量词)
{n} 匹配前一项n次
{n,} 匹配前一项n次,或者多次
{n,m} 匹配前一项至少n次,但是不能超过m次
* 匹配前一项0次或多次,等价于{0,}
+ 匹配前一项1次或多次,等价于{1,}
? 匹配前一项0次或1次,也就是说前一项是可选的,等价于{0,1}
5、RegExp对象的属性
global RegExp对象是否具有标志g,它声明了给定的正则表达式是否执行全局匹配。
ignoreCase RegExp对象是否具有标志i,它声明了给定的正则表达式是否执行对大小写不敏感的匹配。
multiline RegExp对象是否具有标志m,它声明了给定的正则表达式是否执行多行匹配。
6、RegExp对象的方法
1、exec 检索字符中是正则表达式的区配,返回找到的值,并确定其位置
exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
例子 1:
var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free")); 由于该字符串中存在字母 "e",以上代码的输出将是:e
新闻热点
疑难解答
图片精选