Recipe 9.7 Looking for a Pattern Match

9.7.1 Problem

You want to search a string for every match to a pattern.

9.7.2 Solution

Use the custom String.match( ) method.

9.7.3 Discussion

The native ActionScript String class does not provide a match( ) method that allows you to find matches to a pattern within a string. However, the custom RegExp.as file (see Recipe 9.6) adds a match( ) method to the String class.

You should call the match( ) method from a string and pass it a regular expression as a parameter. The method searches the string for all matching substrings and places them in a new array:

// You must include the third-party RegExp.as file from Recipe 9.6. #include "RegExp.as" myString = "Twenty twins went toward them"; // Create a new regular expression to perform a case-insensitive match on an entire // string for any words that begin with "tow" or "tw". re = new RegExp("\\bt(o)?w[\\w]+\\b", "ig"); // Find all the matches and put them in an array. matches = myString.match(re); /* Loop through the array and display the results. The output is:    Twenty    twins    toward */ for (var i = 0; i < matches.length; i++) {   trace(matches[i]); }

9.7.4 See Also

Recipe 9.6



ActionScript Cookbook
ActionScript 3.0 Cookbook: Solutions for Flash Platform and Flex Application Developers
ISBN: 0596526954
EAN: 2147483647
Year: 2005
Pages: 425

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net