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

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

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


  RegExp.leftContext=RegExp._xxlc;

  RegExp.rightContext=RegExp._xxrc;

  RegExp._xaStatic=RegExp._xxa;

  RegExp.lastParen=RegExp._xxa[Number(RegExp._xxlp)];

  for(i=1;i<10;i ){

  RegExp["$" i]=RegExp._xaStatic[Number(i)];

  }

  }

  returntrue;

  }

  }

  publicfunctionexec(){

  varstr=arguments[0] ’’;

  if(str==’’){

  returnfalse;

  }

  vart=this.test(str);

  if(t){

  varra=newArray();

  ra.index=this._xi;

  ra.input=str;

  ra[0]=RegExp.lastMatch;

  varl=RegExp._xaStatic.length;

  for(vari=1;i<l;i ){

  ra[i]=RegExp._xaStatic[Number(i)];

  }

  }else{

  varra=null;

  }

  returnra;

  }

  publicstaticfunctionsetStringMethods(){

  if(String.prototype.match!=undefined){

  return;

  }

  String.prototype.match=function(){

  if(typeof(arguments[0])!="object"){

  returnnull;

  }

  if(arguments[0].const!="RegExp"){

  returnnull;

  }

  varre=arguments[0];

  vars=this.valueOf();

  varip=0;

  varrc=0;

  if(re.global){

  re.lastIndex=0;

  while(re.test(s)){

  if(rc==0){

  varra=newArray();

  }

  ra[rc ]=RegExp.lastMatch;

  ip=re.lastIndex;

  }

  re.lastIndex=ip;

  }else{

  varra=re.exec(s);

  rc ;

  }

  return(rc==0)?null:ra;

  };

  String.prototype.replace=function(){

  if(typeof(arguments[0])!="object"){

  returnnull;

  }

  if(arguments[0].const!="RegExp"){

  returnnull;

  }

  varre=arguments[0];

  varrs=arguments[1] ’’;

  vars=this;

  varr="";

  re.lastIndex=0;

  if(re.global){

  varip=0;

  varix=0;

  while(re.test(s)){

  //Replacebackreferencesinrs

  vari=0;

  varl=length(rs);

  varc="";

  varpc="";

  varnrs="";

  while(i<l){

  c=substring(rs,1 i ,1);

  if(c=="$"&&pc!="\\"){

  c=substring(rs,1 i ,1);

  if(isNaN(Number(c))||Number(c)>9){

  nrs ="$" c;

  }else{

  nrs =RegExp._xaStatic[Number(c)];

  }

  }else{

  nrs =c;

  }

  pc=c;

  }

  r =substring(s,ix 1,re._xi-ix) nrs;

  ix=re._xi length(RegExp.lastMatch);

  ip=re.lastIndex;

  }

  re.lastIndex=ip;

  }else{

  if(re.test(s)){

  r =RegExp.leftContext rs;

  }

  }

  r =re.lastIndex==0?s:RegExp.rightContext;

  returnr;

  };

  String.prototype.search=function(){

  if(typeof(arguments[0])!="object"){

  returnnull;

  }

  if(arguments[0].const!="RegExp"){

  returnnull;

  }

  varre=arguments[0];

  vars=this;

  re.lastIndex=0;

  vart=re.test(s);

  returnt?re._xi:-1;

  };

  String.prototype.old_split=String.prototype.split;

  String.prototype.split=function(){

  if(typeof(arguments[0])=="object"&&arguments[0].const=="RegExp"){

  varre=arguments[0];

  varlm=arguments[1]==null?9999:Number(arguments[1]);

  if(isNaN(lm)){

  lm=9999;

  }

  vars=this;

  varra=newArray();

  varrc=0;

  vargs=re.global;

  re.global=true;

  re.lastIndex=0;

  varip=0;

  varipp=0;

  varix=0;

  while(rc<lm&&re.test(s)){

  //trace(re._xi "" ix "" RegExp.lastMatch);

  if(re._xi!=ix){

  ra[rc ]=substring(s,ix 1,re._xi-ix);

  }

  ix=re._xi length(RegExp.lastMatch);

  ipp=ip;

  ip=re.lastIndex;

  }

  if(rc==lm){

  re.lastIndex=ipp;

  }else{

  re.lastIndex=ip;

  }

  if(rc==0){

  ra[rc]=s;

  }else{

  if(rc<lm&&length(RegExp.rightContext)>0){

  ra[rc ]=RegExp.rightContext;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

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

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