日期:2014-05-16 浏览次数:20349 次
^
?
??? The caret (^) tells the
regular expression that the character must not match the characters to
follow.
??????? 比如要匹配所有除了a或b的字符,字符类可以这么写[^ab]
^
???? 定位符规定匹配模式必须出现在目标字符串的开头
??????? 那是否说^
在[ ]
里面
就
表示排除(负向类)
,
在[ ]
前面
就表示要在开头
?
$
???? 定位符规定匹配模式必须出现在目标对象的结尾
-
??????
范围类,如要匹配a到z的所有字母,字符类可以这么写[a-z]
{n}
? 出现多少次
/^[0-9]{7}$/
?? 匹配的就是一个仅包含7个数字的字符串
7.1
RegExp 对象可以有一个或两个参数.
????? var reCat = new
RegExp
("cat")?
???????????????????
//这个表达式只会匹配字符串中出现的第一个"cat"
????? var reCat = new
RegExp
("cat","g")
?????????????
//匹配所有出现的"cat"
???? 正则表达式字面量
???? var reCat =
/cat/gi
;
? 注意字面量不需
要放在引号里
???? 判断某个字符串是否匹配指定的模式
???? RegExp.test(str)
???
????????????? 如果给定的字符串匹配这个模式,返回true
,否则返回false
.?? reCat.test("cat")
? //返回true
???? RegExp.
exec(str)
?
????????????? 返回一个数组
,数组中第一个元素是匹配字符串,其他是反向引用
. 如果没有找到匹配,返回null
?????????????????????????????????????????????? 返回的数组有一个index
属性,这个属性的值
是匹配字符串中第一个字符在原字符串中的下标
?????????????????????????????????????????????
var toMarch6 = "1 3";
??? ??????????????????
var regExp6 = /(\d+)\s*(\d+)/;
???
?????????????????? var result = regExp6.exec(toMarch6);
??? ??????????????????
dwr(result);//1 3,1,3
?????????????????????????????????????????????
dwr(RegExp.$1 +"
"+RegExp.$2);//1 3
????????????????????????????????????????????? 当正则表达式加上了参数g
,这个正则表达式会从正则表达式对象的lastIndex
属
性指定的位置开始查找,如果找到一个匹配,
????????????????????????????????????????????? 会将lastIndex
属性设置为匹配字符串后面
一个位置的下标.
??????????????????????
var toMarch7 = "1 3 4 5";
??? ??????????????????
var regExp7 = /(\d+)\s*(\d+)/g;
???
?????????????????? var result7
??? ??????????????????
while((result7= regExp7.ex