Flash / Flex / ActionScript/Regular Expressions/Match

Материал из Web эксперт
Версия от 11:14, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Create a global regex to match multiple times in a string

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var example:RegExp = /abc/g;
       
       var result:Array = example.exec( "abc abc" );
       trace( result.index );
       trace( example.lastIndex );
   }
 }

}

       </source>
   
  


Create a global regular expression that matches three-letter words

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var regex:RegExp = /\b[a-z]{3}\b/g;
       var sentence:String = "This string has two three letter words.";
       trace( sentence.search( regex ) );
       trace( regex.lastIndex );
       trace( sentence.search( regex ) );
   }
 }

}

       </source>
   
  


Create a pattern to match against a string

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var example:RegExp = /abc/;
       trace( example.test( "A string with abc in it" ) );
       trace( example.test( "abc" ) );
       trace( example.test( "Another string to test against..." ) );
   }
 }

}

       </source>
   
  


Create a regular expression that matches three-letter words

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var example:RegExp = /\b[a-z]{3}\b/g;
       var target:String = "This string has two three letter words";
       
       var result:Array;
       while ( ( result = example.exec( target ) ) != null ) {
         trace( result );
       }
   }
 }

}

       </source>
   
  


Creating a Nongreedy Pattern

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var example:String = "hello, world!";
       trace( example.match( /<.*>/g ) );
   }
 }

}

       </source>
   
  


Force the last index to be past the first matching position

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var regex:RegExp = /\b[a-z]{3}\b/g;
       var sentence:String = "This string has two three letter words.";
       
       trace( sentence.search( regex ) );
       trace( regex.lastIndex );
       trace( sentence.search( regex ) );
       regex.lastIndex = 13;
       trace( sentence.search( regex ) );
       trace( regex.lastIndex );
   }
 }

}

       </source>
   
  


Looking for Pattern Matches

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var example:String = "ActionScript 3 Cookbook";
       trace( example.search( /script/i ) );
       trace( example.search( /script/ ) );
   }
 }

}

       </source>
   
  


Return simply whether the string matches the pattern at all.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var phoneNumberPattern:RegExp = /\d\d\d-\d\d\d-\d\d\d\d/;
       trace(phoneNumberPattern.test("347-222-2225")); //true
       trace(phoneNumberPattern.test("Call 800-123-4567 now!")); //true
       trace(phoneNumberPattern.test("Call now!")); //false
   }
 }

}

       </source>
   
  


Trace the index

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var example:RegExp = /abc/;
       var result:Array = example.exec( "A string with abc in it" );
       
       trace( result );
       trace( result.index );
       
       result = example.exec( "A string with no match" );
       
       trace( result );
   }
 }

}

       </source>