正则表达式

语法:

一、普通字符

  数字、字母、下划线、汉字、以及后边章节中没有特殊定义的标点符号

 

二、转义字符

  \n、\t、\\、\^、\$、\. 、\( 、 \) 、 \{ 、 \} 、 \? 、 \+ 、 \* 、 \| 、\[、 \]

 

三、标准字符集合:能够与"多种字符"匹配的表达式

  \d 匹配0-9的一个数字

  \w 匹配一个"单词"(匹配一个字母、数字、下划线)

  \s 匹配一个空格、制表符、换行符等空白字符的其中任意一个

  .  匹配除了换行符(\n)以外 的任意一个字符

  注意:在标准字符集合中,\大写字母(\D\W\S)表示取反

 

四、自定义字符集合:[ ]方括号匹配方式,匹配方括号中任意一个字符

  1.方括号中写什么字符,就匹配与之对应的字符

  2.如果数字太多、字母太多,我们可以写成"0-9","a-z"这样的形式

  3.如果不想取某些内容,在[ ]中的第一个位置添加"^"

 

五、匹配次数

  1.{n}  表达式重复n次

  2.{m,n}   表达式最少出现m次,最多出现n次

  3.{m,}   表达式最少出现m次  

  ({,n}这是错误的正则表达式)

  4. ? 表达式匹配0次或者匹配1次,相当于{0,1}

  5. +表达式至少匹配一次,相当于{1,}

  6. * 表达式出现若干次,相当于{0,}

 

注意:贪婪模式与非贪婪模式

       匹配次数中的贪婪模式(匹配字符越多越好) -->默认情况

       匹配次数中的非贪婪模式(匹配字符越少越好) -->在匹配次数的末尾添加一个"?"

 

六、单词边界(本组标记匹配的不是字符而是位置,符合某种条件的位置)

  \b  匹配一个单词边界 (约等于\W)

  ^ 匹配后面一个字符必须作为开头

  $ 匹配前面一个字符必须作为结尾

 

七、一些特殊概念

  |  在正则表达式中表示"或"的概念

  ()  分组操作符,在正则表达式中表示将正则内容作为一个整体去进行操作

  反向引用

         每一对()会分配一个编号(组号),使用 () 的捕获根据左括号的顺序从 1 开始自动编号

         通过反向引用,可以对分组已捕获的字符串进行引用。

 

八、匹配模式

       单行模式:开启则" . "号会匹配所有字符,不开启则匹配除了换行符之外的所有字符

       多行模式

       忽略大小写模式:忽略大小写模式,在正则匹配时,忽略字母的大小写

       全局模式:(js中)全局模式,在做正则替换的时,替换文本中所有匹配的结果

 

九、正则表达式在js中的使用:

       1.创建正则表达式

               ①var re1 = new RegExp("正则表达式内容","匹配模式");

               ②var re2 = /正则表达式内容/匹配模式

       2.正则匹配

               var bool  =  正则表达式对象.test("匹配的内容");

posted @ 2019-05-25 17:30  梦在原地  阅读(155)  评论(0编辑  收藏  举报