JS中通过RegExp类型来支持正则表达式。创建正则表达式如下:
var expression=/pattern/ flags;
其中的模式(pattern)部分可以是任何简单或复杂的正则表达式,可以包含字符类、限定符、分组、向前查找以及方向引用。
每个正则表达式都可带有一或多个标志(flags),用以表明正则表达式的行为。正则表达式的匹配模式支持以下3个标志。
- g:表示全局模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止;
- i:表示不区分大小写模式,即在确定匹配项时忽略模式与字符串的大小;
- m:表示多行模式,即在到达一行文本末尾时还会继续查找下一行中是否存在于模式匹配的项。
eg:
//匹配字符串中所有"at"的实例
var pattern1=/at/g;
//匹配第一个"bat"或"cat",不区分大小写
var pattern2=/[bc]at/i;
//匹配所有以"at"结尾的3个字符的组合,不区分大小写
var pattern3=/.at/gi;
另一种创建正则表达式的方式是使用RegExp构造函数,它接收两个参数:一个是要匹配的字符串模式,另一个是可选的标志字符串。
eg:
var pattern2=new RegExp("[bc]at","i");
☆传递给RegExp构造函数的两个参数都是字符串。