正则和字符串

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. 分组捕获的优点
  2. 能够提高优先级
  3. 能够捕获引用

\1表明分组1里面的内容  \2表明分组2里面的内容

前提是分组必须在引用以前,若是\2在分组的前面表明普通的表达式???

分组的结果存在正则类RegExp的$number属性下。

\1 和RegExp.$1 两者都是分组引用

\1只能使用在正则表达式里面,RegExp.$1 能够外面使用。都是在捕获完成的条件下。

  1. 在捕获的过程当中怎样取消捕获分组中的内

在分组的前面加上?:就ok了

?:和?=的区别

?:取消捕获分组中的内容的

?=  a(?=s)

 

4.replace细说

Replace是字符串的一个方法,他有两个参数,用后者将前者替换掉,并返回一个新的字符串,可是没有改变原来的字符串.

  1. 若是第一个参数是字符串,只改变一次
  2. 若是第一个参数是正则,捕获一次改变一次
  3. 若是第二个参数是匿名函数,每捕获一次这个匿名函数会执行一次,return的是什么,那就替换成什么。这个匿名函数的arguments有三个元素。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.正则

用来处理字符串的一个规则。除了处理字符串别的啥也干不了

  1. 用来判断一个字符串是否符合这个规则 test()  正则的匹配
  2. 正则还能够把符合正则的内容捕获到 exec()    正则的捕获

如何建立正则  对象数据类型   建立方式 两种

一个是字面量的方式 

Var reg=/\d/

一个是实例方式

Var reg=new RegExp(“string”)

Var obj={}  var obj=new Object()   没有区别  可是正则的这两种建立方式有点区别

如何学习正则

  1. 一是匹配 2是捕获

Console.dir(RegExp.prototype)

 

 

Z

相关文章
相关标签/搜索