AS3代码:
/*
* 极酷播放器提示:去除字符串前面的空格和跳格符
*/*/
var src:String=" Hello! ";
trace("\""+src+"\""); //原文本
trace("\""+src.replace(/^\s*/g,"")+"\""); //去掉前面的空格
trace("\""+src.replace(/\s*$/g,"")+"\""); //去掉后面的空格
//由于个人习惯的原因, 我对AS3的正则式进行了一些封装, 封装之后, 由Regex, RegexOptions,
//Match和MatchCollection四个类组成, 以下的代码中都用到了这几个类比如检查用户输入
//的一个文本是否是一个合法的邮箱地址, 可以使用下面的正则式进行检查:
/*
* 极酷播放器提示:检查文本是否是一个邮箱地址
*/
var regex:Regex=new Regex("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$");
var email1:String="thor.net@gmail.com";
var email2:String="thor.net@gmail_com";
trace("\""+email1+"\""+(regex.isMatch(email1)?"是":"不是")+"邮箱地址");
trace("\""+email2+"\""+(regex.isMatch(email2)?"是":"不是")+"邮箱地址");
正则式还可以用于提取一段文本中特定的内容, 例如以下代码:
/*
* 极酷播放器提示:提取文本中的内容
*/
var srcText:String="name:thor,birthday:1979-10-31";
regex=new Regex("name:(?P(\\w+))",RegexOptions.IGNORECASE);//忽略大小写
var match:Match=regex.getMatch(srcText);
var text:String=match.result("hello, ${name} ^_^");
trace(text);
本人看了上面代码,感觉不想as3,因为as3里的正则表达式类是:RegexExp,而不是Regex,
上面的代码中,出现:Regex、Match、MatchCollection、RegexOptions.IGNORECASE;等,都是C#的系统正则表达式相关:类名;
感觉是下面原文的作者,写错标题了吧?
看来,得自己重新看看as3的手册,重新弄个AS3的正则处理;
不同语言的一些封装还来还是有区别的;
原文:http://www.cuplayer.com/player/PlayerCodeAs/2012/0928466.html
本人将其写成原来AS3的工具类:
/*****************************************************
*
* The Initial Developer of the Original Code is Jave.Lin(afeng)
*
* StringUtil.as
* Create By Jave.Lin(afeng)
* 2012-11-20 下午4:21:13
*
*****************************************************/
package cn.taole.webgame.jhm.common.util
{
/**
* 字符串工具类
* @author Jave.Lin(afeng)
**/
public class StringUtil
{
public static function isMail(content:String):Boolean{
var re:RegExp=new RegExp("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$");
var arr:Array=content.match(re);
return (arr &&arr.length>0);
}
public static function trim(content:String):String{
// var sidx:int=0;
// var eidx:int=0;
// var i:int=0;
// var c:String;
// for(; i < content.length; i++){
// c=content.charAt(i);
// if(c==" " || c=="\t" || c=="\r" || c=="\n"){
//
// }else{
// sidx=i;
// break;
// }
// }
//
// for (i = content.length-1; i > 0; i--){
// c=content.charAt(i);
// if(c==" " || c=="\t" || c=="\r" || c=="\n"){
//
// }else{
// eidx=i;
// break;
// }
// }
//
// return content.substring(sidx,eidx+1);
content=content.replace(/^\s*/g,""); //去掉前面的空格
content=content.replace(/\s*$/g,""); //去掉后面的空格
return content;
}
}
}