一个在Flash里面使用的正则表达式的类(2)
2008-04-02 11:03:26来源:互联网 阅读 ()
}elseif(!root&&thischar==")"){
//Closingparen
break;
}elseif(thischar=="^"){
//Mustbelocatedatthebeginningofstring/line
if(qc==0||q[qc-1].t==7){
q[qc].t=9;
q[qc].a=1;
q[qc].b=1;
qc ;
}
continue;
}elseif(thischar=="$"){
//Mustbelocatedattheendofstring/line
if(root){
atEnd=true;
}
continue;
}elseif(thischar=="["){
//Thisisacharacterset
i ;
if(nextchar=="^"){
q[qc].t=2;
i ;
}else{
q[qc].t=1;
}
thischar="";
range=false;
while(i<l&&(s=substring(re,1 i ,1))!="]"){
if(range){
//Previouscharwas"-",socreatearange
if(s=="\\"){
}
cb=s=="\\"?(s=="b"?chr(8):substring(re,1 i ,1)):s;
ca=ord(substring(thischar,length(thischar),1)) 1;
while(cb>=(s=chr(ca ))){
thischar =s;
}
range=false;
}else{
if(s=="-"&&length(thischar)>0){
//Characterrangeisbeingdefined
range=true;
}else{
if(s=="\\"){
//Predefinedcharsetmayfollow
s=substring(re,1 i ,1);
if(s=="d"){
thischar ="0123456789";
}elseif(s=="D"){
thischar =invStr("0123456789");
}elseif(s=="s"){
thischar ="\f\n\r\t\v";
}elseif(s=="S"){
thischar =invStr("\f\n\r\t\v");
}elseif(s=="w"){
thischar ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
}elseif(s=="W"){
thischar =invStr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_");
}elseif(s=="b"){
thischar =chr(8);
}elseif(s=="\\"){
thischar =s;
}
}else{
thischar =s;
}
}
}
}
if(range)thischar ="-";
i--;
varnextchar=substring(re,i 2,1);
}elseif(thischar=="|"){
//ORsection
if(atEnd){
q[qc].t=10;
q[qc].a=1;
q[qc].b=1;
qc ;
q[qc]=newObject();
atEnd=false;
}
q[qc].t=7;
q[qc].a=1;
q[qc].b=1;
qc ;
continue;
}elseif(thischar=="."){
q[qc].t=2;
thischar="\n";
}elseif(thischar=="*"||thischar=="?"||thischar==" "){
continue;
}
}else{
if(thischar>="1"&&thischar<="9"){
q[qc].t=4;
}elseif(thischar=="b"){
q[qc].t=1;
thischar="--wb--";
}elseif(thischar=="B"){
q[qc].t=2;
thischar="--wb--";
}elseif(thischar=="d"){
q[qc].t=1;
thischar="0123456789";
}elseif(thischar=="D"){
q[qc].t=2;
thischar="0123456789";
}elseif(thischar=="s"){
q[qc].t=1;
thischar="\f\n\r\t\v";
}elseif(thischar=="S"){
q[qc].t=2;
thischar="\f\n\r\t\v";
}elseif(thischar=="w"){
q[qc].t=1;
thischar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
}elseif(thischar=="W"){
q[qc].t=2;
thischar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
}
}
//Countingmetacharacters
if(nextchar=="*"){
q[qc].s=thischar;
qc ;
i ;
}elseif(nextchar=="?"){
q[qc].s=thischar;
q[qc].b=1;
qc ;
i ;
}elseif(nextchar==" "){
q[qc].s=thischar;
q[qc].a=1;
qc ;
i ;
}elseif(nextchar=="{"){
varcomma=false;
varrangeA=0;
range="";
i ;
while(i 1<l&&(s=substring(re,2 i ,1))!="}"){
if(!comma&&s==","){
comma=true;
rangeA=Number(range);
rangeA=Math.floor(isNaN(rangeA)?0:rangeA);
if(rangeA<0){
rangeA=0;
}
range="";
}else{
range =s;
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
