1.var reg=/./ var reg=/\./正则表达式
前者表明任意一个字符然后者表明这个字符串中得有一个.数组
2.?的使用函数
若是单独的一个字符后面带? var reg=/\d?/ /n?/学习
表明一个或0个这个字符的出现prototype
若是是量词+和*,{2,}后面带? 取消正则的贪婪性 在捕获阶段对象
3.捕获字符串
1.普通捕获 exec() match()string
普通捕获有懒惰性,给正则添加一个修饰符g能够解决,match是将全部捕获的内容放在一个数组中并返回。Match就是对exec的一个简单封装。class
2.分组捕获 捕获的方法仍是exec 和matchtest
正则在结构上发生了变化,加()
Var reg=/(a)(b)/
Exec()和match()在非全局下分组捕获是相同的,在捕获的过程当中即捕获大正则里的内容也捕获分组中的内容并都返回。
Exec()和match()在全局下的分组捕获是不同的,exec()不变。可是match()只捕获大正则里的内容
\1表明分组1里面的内容 \2表明分组2里面的内容
前提是分组必须在引用以前,若是\2在分组的前面表明普通的表达式???
分组的结果存在正则类RegExp的$number属性下。
\1 和RegExp.$1 两者都是分组引用
\1只能使用在正则表达式里面,RegExp.$1 能够外面使用。都是在捕获完成的条件下。
在分组的前面加上?:就ok了
?:和?=的区别
?:取消捕获分组中的内容的
?= a(?=s)
4.replace细说
Replace是字符串的一个方法,他有两个参数,用后者将前者替换掉,并返回一个新的字符串,可是没有改变原来的字符串.
1.正则
用来处理字符串的一个规则。除了处理字符串别的啥也干不了
如何建立正则 对象数据类型 建立方式 两种
一个是字面量的方式
Var reg=/\d/
一个是实例方式
Var reg=new RegExp(“string”)
Var obj={} var obj=new Object() 没有区别 可是正则的这两种建立方式有点区别
如何学习正则
Console.dir(RegExp.prototype)
Z