正则表达式是一个描述字符模式的对象。
1.创建RegExp对象:
构造函数方法:
var pattern=new RegExp(“s$”);匹配以s结尾的所有字符串。
2.直接量方式创建:
var pattern=/s$/;
注:
EMS3规定同一段代码所表示的正则表达式直接量的每次运算都返回同一个对象。
EMS5规定正好相反。
3.常用转义字符:
\n换行符
\t制表符
4.字符类:
将直接量字符单独放在方括号内就组成了字符类。字符类可以使用连字符表示字符范围,如/[a-z]/,匹配拉丁字母表中的小写字母。
^作为左方括号内的第一个字符,定义否定字符类。如:/[^abc]/表示匹配a、b、c之外的所有字符。
正则表达式中的常用字符类:
\w等价于[a-zA-Z0-9]
\W等价于[^a-Za-z0-9]
\d等价于[0-9]
\D等价于[^0-9]
5.重复
{n,m}匹配前一项至少n次,最多m次
{n,}匹配前一项n次或者更多次
{n}匹配前一项n次
?{0,1}
+{1,}
*{0,}
6.非贪婪模式:
5中列举的的重复字符语法都是贪婪模式,即为尽可能多的匹配。
未避免贪婪模式的影响,在待匹配的字符后跟随一个问号即可。“??”,“+?”,“*?”,“{1,2}?”。
7.选择:
字符“|”用于分隔供选择的字符。选择项的尝试匹配次序是从左到右,直到发现了匹配项。如果左边的选择项匹配,就忽略右边的匹配项。
8.圆括号的作用:
一个是把单独的项组合成子表达式。
另一个是在完整的模式中定义子模式。允许在同一正则表达式的后部引用前面的子表达式,通过在字符“\”后加一位或多位数字实现的。
9.锚元素:
^用来匹配字符串的开始。$用于匹配字符串的结束。
10.修饰符:
i执行不区分大小写的匹配
g执行一个全局匹配
m多行匹配模式