奇特工作室

flash让我的生活更美好!QQ:28787999

« 发现了好的翻书效果 经典强啊as3图片扭曲 »

关于AS3的正则表达式

From:http://imthor.com/PermaLink,guid,b1f052d1-a36b-4aa4-8ee6-c33fd6b8b8cb.aspx
 

2007年1月6日 9:45:41 UTC (  |  |  )
正则式是一项非常好的文本处理方式, 它可以很方便的检查文本格式, 搜索文本中的内容, 以及替换文本的内容, 比如通常去除文本的前端空格和后端空格的功能, 使用下面的正则式即可完成:
  1. /*
    * 去除字符串前面的空格和跳格符
    */
    */              
  2. var src:String=" Hello! "
  3. trace("\""+src+"\"");    //原文本 
  4. trace("\""+src.replace(/^\s*/g,"")+"\"");    //去掉前面的空格 
  5. trace("\""+src.replace(/\s*$/g,"")+"\"");    //去掉后面的空格 
由于个人习惯的原因, 我对AS3的正则式进行了一些封装, 封装之后, 由Regex, RegexOptions, Match和MatchCollection四个类组成, 以下的代码中都用到了这几个类比如检查用户输入的一个文本是否是一个合法的邮箱地址, 可以使用下面的正则式进行检查:
  1. /*
    * 检查文本是否是一个邮箱地址
    */
     
  2. var regex:Regex=new Regex("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"); 
  3. var email1:String="thor.net@gmail.com"
  4. var email2:String="thor.net@gmail_com"
  5.          
  6. trace("\""+email1+"\""+(regex.isMatch(email1)?"是":"不是")+"邮箱地址"); 
  7. trace("\""+email2+"\""+(regex.isMatch(email2)?"是":"不是")+"邮箱地址"); 
正则式还可以用于提取一段文本中特定的内容, 例如以下代码:
  1. /*
    * 提取文本中的内容
    */
     
  2. var srcText:String="name:thor,birthday:1979-10-31"
  3. regex=new Regex("name:(?P<name>(\\w+))",RegexOptions.IGNORECASE);    //忽略大小写 
  4.  
  5. var match:Match=regex.getMatch(srcText); 
  6. var text:String=match.result("hello, ${name} ^_^"); 
  7.       
  8. trace(text); 
  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 91204

Copyright qiter.com by Rights Reserved.