码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式语法

时间:2017-09-10 11:24:49      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:区分   perl   反向引用   划线   建立   line   global   正则表达式   asc   

一、定义

  用来描述或匹配一系列符合某个规则的字符串信息的字符串。

  通常用来检验字符串是否符合某些规则,或者匹配(替换)被操作的字符串中的某些信息。

二、基本语法

  1.以“/”开始,以另一个“/”结束

  2.结束符“/”后可以有g(global-在整个字符串中搜索)、i(ignore-忽略大小写)、m(multiline-在多行中搜索)

  3.在JavaScript中,正则表达式通过RegExp类(var regExp= new RegExp(“JavaScript”))实现以及支持以两斜线引用的Perl风格(/JavaScript/)

三、元字符

  更加方便定制需要匹配的模式;注意区分大小写

  1. . 匹配换行符(/n)以外的任意字符

  2. ^ 匹配字符串的开始

  3. $ 匹配字符串的结束

  4. \b匹配单词的边界

  5.\d匹配数字

  6. \s匹配任意空白符(空格、换行、换页。。。)

  7.\w匹配字母、数字、下划线或汉字

  8.\转义字符

四、量词

  指定字符或字符串出现的次数

  1. *出现0至多次

  2. +出现1至多次

  3. ?出现0至1次

  4. {n}出现n次

  5.{n,}出现n至多次

  6.{n,m}出现n至m次

五、字符类

  字符类是放在方括号中的,用于匹配字符数组的一些字符

  1.简单类:简单匹配字符 [abc]

  2.负向类:匹配指定以外的字符 [^abc];

       ^表示该符号后面以外的字符,又称脱字符号;

       此外,反义字符还有\W(字母、数字、下划线以及汉字以外的字符)、\S(空白字符以外的字符)、\D(数字以外的字符)、\B(匹配非单词的边界)

  3.范围类:表示在 一定范围内取值[a-z]

  4.组合类:其他类多种组合;

       例:匹配所有英文字符及数字 var reg=/[A-Za-z0-9]/;

       在使用组合类时,字符串不允许出现空格

       在JavaScript中不支持形如[A-Z[0-9]]的范围类嵌套

六、分组

  由字符串和量词组成的模式;用于匹配多个字符串

  1.由小括号包围分组(abc)

  2.分组可嵌套(^123(abc)*)

  3.例判断输入日期格式是否正确:var dataReg=/^(\d{4})(-)(\d{1,2})(-)(\d{1,2})$/; 

七、反向引用

  建立在分组的基础上的对正则表达式的复杂应用;当存在多个分组嵌套或者并列的情况下,需要使用多个分组中的某个分组的值时可使用反向引用

  1.每个分组都被存放在一个特殊的地方以被使用

  2.每个分组拥有一个自动的编码组号:从左到右,以左括号为标志,第一个出现的分组为1,以此类推(从1开始,不同于数组、列表)

  反向引用的使用

  1.$分组:反向引用时的标识符;

      如var dataReg=/^(\d{4})(-)(\d{1,2})(-)(\d{1,2})$/   ,$1表示第一个分组

  2.\分组:转义字符分组;适用于分组中引用分组

      如匹配字符串“abcabc” ,/(dog)\1/

八、候选

  使用按位或(|)表选择

  如同时匹配“act”和“do”:var reg=、act|do/g;

   

正则表达式语法

标签:区分   perl   反向引用   划线   建立   line   global   正则表达式   asc   

原文地址:http://www.cnblogs.com/Demetris/p/7500255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!