Javascript 正则表达式 子表达式

1.什么是子表达式?

看一个例子 /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/ 这是Jquery1.6.4里面的匹配selector的RegExp,我看他exec之后执行的结果是一个Array,好吧,第一次知道exec返回一个数组 以前一直都是 if(regExp.test()) 或者if(regExp.match()) 好吧言归正传子表达式就是用“()”包裹起来的一段。

2.子表达式的用处

假设时间格式是“yyyy-mm-dd”我们要得到20世纪以及21世纪里面,所有2月到5月的时间 /^(19|20)-(2|3|4|5)-\d{2}$/这样就可以匹配了,好了现在新增一个需求在所有已经匹配的字段里面删选出21世纪的数据?现在怎么办?难道还要写一个正则表达式再验证码?

var match = /^(19|20)-(2|3|4|5)-\d{2}$/.exec(time);

if(match[1]=="20"){

//get it

}