正则表达式

来源:互联网 发布:算命软件购买 编辑:程序博客网 时间:2024/06/14 06:45

1、正则表达式的创建

正则表达式的创建有两种,一种是像通过定义字符串那样

var reg = /s+/;

需要匹配的字符用‘/’符号进行包裹

第二种就是通过构造函数RegExp

var reg = new RegExp("s+");


这两种方法是一样的



2、直接量字符

一般正则表达式中的所有字母和数字都是按照字面的意思进行匹配,如果碰到一些特殊字符,就需要 ' \ '符号进行转义

比如

\o NUL字符

\t 制表符

\n 换行符

\v 垂直制表符

\f 换页符

\r 回车符

等等

还有很多标点也有特殊意义,如果要匹配这些特殊标点的话也需要一个转义符

比如

^  $  .  *  +  ?  =  !  :  |  \  /  (  )  [  ]  {  }

匹配这些字符的时候就要加上转义字符,一般如果我们不知道哪些是特殊的字符,哪些不是特殊的字符的话,可以把需要匹配的所有字符都加上转义字符



3、字符类

[...] 方括号内的任意字符

[^...] 非方括号内的任意字符

. 除换行符和其他Unicode行终止符之外的任意字符

\w 任何ASCII字符组成的单词,等价于[a-zA-Z0-9]

\W 任何不适ASCII字符组成的单词,等价于[^a-zA-Z0-9]

\s 任何Unicode空白符

\S 任何非Unicode空白符的字符,注意 \w 与 \S不同

\d 任何ASCII数字,等价于[0-9]

\D 任何非ASCII数字,等价于[^0-9]

[\b] 退格直接量(特例)

比如

var reg = /[abc]/匹配包含a,b,c三个字母的字符串

var reg = /[^abc]/匹配不包含a,b,c三个字母的字符串

var reg = /\d/匹配的是数字



4、重复

{n, m} 匹配前一项至少n次,最多m次

{n,} 匹配前一项至少n次,或者更多次

{n} 匹配前一项n次

? 匹配前一项0次或者1次,也就是说前一项是可以选择的,相当于{0,1}

+ 匹配前一项1次或者多次,相当于{1,}

* 匹配前一项0次或者多次,相当于{0,}


举个栗子

var reg = /\d{2,4}/匹配2-4个数字

var reg = /\d{2,}/匹配至少2个数字

var reg = /\w{3}\d/匹配三个字符加一个数字

var iphone = /iPhone OS (\d+\.\d+)/匹配类似于 iPhone OS 10.3



 

原创粉丝点击