正则表达式

正则表通常被用来检索、替换那些符合某个模式或规则的文本。

常用运算符与表达式:

  ^       开始
  ()      域段
  []      包含,默认是一个字符长度
  [^]     不包含,默认是一个字符长度
  {n,m}  匹配长度 
  .       任何单个字符(\. 字符点)
  |       或
  \       转义
  $       结尾
  [A-Z]  26个大写字母
  [a-z]  26个小写字母
  [0-9]  0至9数字
  [A-Za-z0-9] 26个大写字母、26个小写字母和0至9数字, 分割

语法:

  {min,max} 最少min个,最多max个
  {mun} 固定长度
  {min,} 最少min个,多了不限 

重复:  定义字符出现频次
  n?       匹配零次或一次字符 a?
  n*       配零次或多次字符 a*
  n+       匹配一次或多次字符n a+
  n{x}     匹配字符n出现x次 a{3}
  n{x,y}  匹配字符n出现x到y次 a{2,4}
  n{x,}   匹配字符n出现>=x次 a{3,} 

正则表达式中如果出现+*?,都要用\转译
[]里面的当普通字符
正则表达式|线表示或者 

egExp对象:专门封装一条正则表达式,提供使用正则表达式的常用API
如何使用RegExp对象:1.创建 2.调用API
如何创建正则表达式对象:var regExp=/正则表达式/ig;

exec:查找关键字的位置,及内容

indexOf不支持正则,search支持正则,每次只能找一个
match所有内容,但的不到位置
var[0]:找到关键字内容
arr.index属性:找到的关键字位置
exec方法每次只能找一个,但每次自动修改regExp对象的lastIndex属性
regExp对象的lastIndex属性,表示下次开始匹配的位置

 

var regExp=new RegExp("\\d{6}");动态创建正则表达式

贪婪模式:.+ .* 默认先匹配整个字符串,再缩小范围!
懒惰模式:(.+?) (.*?) 从第一个字符开始,向后扩展范围

posted @ 2017-05-23 15:23  0_0墨眉  阅读(342)  评论(0编辑  收藏  举报