一个在Flash里面使用的正则表达式的类(3)
2008-04-02 11:03:26来源:互联网 阅读 ()
}
}
varrangeB=Number(range);
rangeB=Math.floor(isNaN(rangeB)?0:rangeB);
if(rangeB<1){
rangeB=999;
}
if(rangeB<rangeA){
rangeB=rangeA;
}
q[qc].s=thischar;
q[qc].b=rangeB;
q[qc].a=comma?rangeA:rangeB;
qc ;
}else{
q[qc].s=thischar;
q[qc].a=1;
q[qc].b=1;
qc ;
}
}
if(root&&atEnd){
q[qc]=newObject();
q[qc].t=10;
q[qc].a=1;
q[qc].b=1;
qc ;
}
if(!root){
RegExp._xiStatic=i;
this.source=substring(re,arguments[2] 1,i-arguments[2]);
}
if(RegExp.d){
for(vari=0;i<qc;i ){
trace("xr" this._xr ’’ q[i].t ":" q[i].a ":" q[i].b ":" q[i].s);
}
}
this._xq=q;
this._xqc=qc;
RegExp._xp=0;
}
publicfunctiontest(){
if(RegExp._xp ==0){
RegExp._xxa=[];
//Temparrayforstoringparenmatches
RegExp._xxlp=0;
//Lastparen
}
//q[n].c-->countofmatches
//q[n].i-->indexwithinthestring
varstr=arguments[0] ’’;
varre;
varq=this._xq;
varqc=this._xqc;
varqb;
varc;
varcl;
varct;
vars;
varl=length(str);
varix=this.global?this.lastIndex:0;
varix_=ix;
varstr_=str;
if(this.ignoreCase){
str=str.toLowerCase();
}
varr=newObject();
r.i=-1;
vari=-1;
while(i<qc-1){
i ;
if(RegExp.d){
trace("Newsectionstartedati=" i);
}
ix=ix_;
qb=i;
q[qb].c=-10;
varatEnd=false;
while(i>qb||ix<l 1){
if(q[i].t==7){
//New"OR"sectioncoming
break;
}elseif(q[i].t==9){
i ;
if(i==qb 1){
varatStart=true;
qb=i;
}
q[qb].c=-10;
continue;
}else{
if(r.i>=0&&ix>=r.i){
//Thereisalreadybettermatch,soquitsearching
break;
}
if(q[i].c==-10){
if(RegExp.d){
trace("Lookup#" i "atindex" ix "for\\\\\\\\\\\\\\\\’" q[i].s "\\\\\\\\\\\\\\\\’type" q[i].t);
}
//Countthe#ofmatches
varm=0;
q[i].i=ix;
if(q[i].t==0){
//Exactmatch
c=this.ignoreCase?q[i].s.toLowerCase():q[i].s;
while(m<q[i].b&&ix<l){
if(substring(str,1 ix,1)==c){
m ;
ix ;
}else{
break;
}
}
}elseif(q[i].t==1){
//Incharset
if(q[i].s=="--wb--"){
q[i].a=1;
if(ix>0&&ix<l){
ct=substring(str,ix,1);
if(ct==""||ct=="\\\\\\\\\\\\\\\\n"){
m=1;
}
if(m==0){
ct=substring(str,1 ix,1);
if(ct==""||ct=="\\\\\\\\\\\\\\\\n"){
m=1;
}
}
}else{
m=1;
}
}else{
c=this.ignoreCase?q[i].s.toLowerCase():q[i].s;
cl=length(c);
varcs;
while(m<q[i].b&&ix<l){
ct=substring(str,1 ix,1);
cs=0;
while(cs<=cl&&substring(c,1 cs ,1)!=ct){
}
if(cs<=cl){
m ;
ix ;
}else{
break;
}
}
}
}elseif(q[i].t==2){
//Notincharset
c=this.ignoreCase?q[i].s.toLowerCase():q[i].s;
cl=length(c);
if(q[i].s=="--wb--"){
q[i].a=1;
if(ix>0&&ix<l){
ct=substring(str,ix,1);
s=substring(str,1 ix,1);
if(ct!=""&&ct!="\\\\\\\\\\\\\\\\n"&&s!=""&&s!="\\\\\\\\\\\\\\\\n"){
m=1;
}
}else{
m=0;
}
}else{
while(m<q[i].b&&ix<l){
ct=substring(str,1 ix,1);
标签:
版权申明:本站文章部分自网络,如有侵权,请联系: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
