JS正则表达式大全与使用

借鉴出处:http://www.jb51.net/article/43190.htm

http://blog.csdn.net/qilei2010/article/details/6048772例子说明

JS正则表达式:

^匹配一个输入或一行的开头

$匹配一个输入或一行的结尾

*匹配前面元字符0次或多次

+匹配前面元字符1次或多次

?匹配前面元字符0次或者一次

(x)匹配x保存x在名为$1……$9的变量中

x|y匹配x或y

{n}精确匹配n次

{n,}精确匹配n次以上

{n,m}精确匹配n-m之间

[xyz]匹配这个集合中的任一个字符或元字符

[^xyz]相反

[\b]匹配一个退格符

\b匹配一个单词的边界

\B匹配一个单词的非边界

\cX  X是一个控制符,/\cM/匹配Ctrl-M

\d匹配一个数字符,/\d/ = /[0-9]/

\D 匹配一个非字数字符

\n 匹配一个换行符 

\r 匹配一个回车符 

\s 匹配一个空白字符,包括\n,\r,\f,\t,\v等

\S匹配一个非空白字符等价于/[^\n\f\r\t\v]/

\t匹配一个制表符

\v匹配一个垂直制表符

\w匹配一个字符包含数字、字母、下划线[^a-zA-Z0-9]

\W相反

{n, m} 匹配前一项至少n次,但是不能超过m次
{n, } 匹配前一项n次,或者多次
{n} 匹配前一项恰好n次
? 匹配前一项0次或1次,也就是说前一项是可选的. 等价于 {0, 1}
+ 匹配前一项1次或多次,等价于{1,}
* 匹配前一项0次或多次.等价于{0,} 

\\d就是\d:原因如下

\d是正则表达式中的一个匹配字符,意思是表示匹配一个任何数字字符,之所以用两个\是因为\在java中表示转义的意思,而\d在正则表达式中是一个整体,故需转义。 

\ f 换页符
\ n 换行符
\ r 回车
\ t 制表符
\ v 垂直制表符
\ / 一个 / 直接量
\ \ 一个 \ 直接量
\ . 一个 . 直接量
\ * 一个 * 直接量
\ + 一个 + 直接量
\ ? 一个 ? 直接量
\ | 一个 | 直接量
\ ( 一个 ( 直接量
\ ) 一个 ) 直接量
\ [ 一个 [ 直接量
\ ] 一个 ] 直接量
\ { 一个 { 直接量
\ } 一个 } 直接量

 exec 方法返回的数组有三个属性,分别是 inputindex 和 lastIndexInput 属性包含了整个被查找的字符串。Index 属性中包含了整个被查找字符串中被匹配的子字符串的位置。LastIndex 属性中包含了匹配中最后一个字符的下一个位置。

search 方法指明是否存在相应的匹配。如果找到一个匹配,search 方法将返回一个整数值,指明这个匹配距离字符串开始的偏移位置。如果没有找到匹配,则返回 -1。

test 方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false

相关推荐