TLROJE 2016-03-28
借鉴出处: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 方法返回的数组有三个属性,分别是 input、index 和 lastIndex。Input 属性包含了整个被查找的字符串。Index 属性中包含了整个被查找字符串中被匹配的子字符串的位置。LastIndex 属性中包含了匹配中最后一个字符的下一个位置。
search 方法指明是否存在相应的匹配。如果找到一个匹配,search 方法将返回一个整数值,指明这个匹配距离字符串开始的偏移位置。如果没有找到匹配,则返回 -1。
test 方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。