我有this代码:
var tlTemp=new Array();
tlTemp.push("00 - 01:??:?? - TL 1");
tlTemp.push("00 - 12:??:?? - TL 2");
for(i=0; i<tlTemp.length; i++) {
var removedTL = tlTemp[i].match(/^(\d\d) - (\?\?|10|0\d):(\?\?|[0-5]\d):(\?\?|[0-5]\d) - (.*)/);
if(removedTL!=null) {
alert("ok");
}
else
{
alert("no");
return;
}
}
我不明白为什么第一个字符串可以打印而第二个(如此类似)不能打印为什么?
最佳答案
定义字符串不同部分的regexp的适当部分是:
(\?\?|10|0\d)
它匹配:
??
10
0x where x is a digit
因此12个不匹配。
现在,还有
TL 2
而不是TL 1
,但是在正则表达式中,它定义为:(.*)
匹配所有内容,因此不会引起问题。