一个在Flash里面使用的正则表达式的类(5)
2008-04-02 11:03:26来源:互联网 阅读 ()
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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
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
