创建RegExp对象实例的两种方式
1.使用RegExp对象的显示构造函数,语法为:new RegExp("pattern")[,"flags"];
2.使用RegExp对象的隐示构造函数,语法为:/pattern/flags;
3.flags为以下标志字符的组合
(1).g作全局标志,如果没有,匹配第一个
(2). i 忽略大小写
(3).m 多行标志
正则表达式语法参考
1.限定符
(1).{n}:规定前面选项连续出现n次,o{2}:fooood匹配2个o
(2).{n,}:规定前面元素或组合项至少出现n次,o{2,},zo不行,zoooo可以
(3).{n,m}:规定前面元素至少连续出现n次,最多m次,o{1.3}
(4).+:必须出现一次或连续多次.等效于{1,},zo+:z不行,zoo行
(5).*:出现0次或连续多次,等效{0,},zo*,z行,zoo行
(6).?:出现0次或1次
2.选择匹配符
| : 匹配两个选项中任意一个,它的两个选项是"|"字符两边尽可能最大的表达式.
chapter|section 1 :匹配的是chapter 或 section 1
(chapter|section) 1 : 匹配的是chapter 1或 section 1
3.分组组合和反向作用符
(1).(pattern):合成一个组合项,按顺序存在缓冲区中.(ab);字面意义()用,"(",")"
(2).\num:第几个缓冲区的内容,即第几个括号中的内容
(\d)\1{4}:连续5个相同的数字字符:55555,11111
^b([a-z]+)\1\b/gi,用于匹配所有连续重复的单词部分,\b用于匹配单词边界:Is the cost of of gasolin going up up
(3).(?:pattern):不把这部分放在缓冲区中,即不当作子匹配
(?:abc)
(4).(?=pattern):称为正向"预测先行"匹配,在被搜索字符串的相应位置必须有pattern部分匹配的内容,但这部分匹配的内容不作
为匹配结果处理,更不会被存储在捕获缓冲区中供以后使用
Windows(?=NT|2000) : 只与Windows 2000或Windows NT中的Windows匹配,而不与Windows 2003中的Windows匹配
3.字符匹配符
(1).[...]:匹配括号中包含字符集中的任意一个字符,
[abc]:可以a,b,c任意一个匹配
(2).[^...]匹配除abc外的任意字符
(3).[a-z]:指定范围内任意字符,例:[1-9].[a-z]
(4).[^a-z]:除指定范围内任意字符,例:[^1-4]
(5).\d:任何一个�