一个在Flash里面使用的正则表达式的类(3)

2008-04-02 11:03:26来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折



  }

  }

  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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: Flash绘画教程:麻麻原绘里依的贴网秘籍

下一篇: ActionScript入门学习-MovieClip的控制