Package | Top Level |
Class | public dynamic class RegExp |
Inheritance | RegExp Object |
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
You can create a new RegExp object by using the new RegExp()
constructor or by
assigning a RegExp literal to a variable:
var pattern1:RegExp = new RegExp("test-\\d", "i"); var pattern2:RegExp = /test-\d/i;
For more information, see "Using Regular Expressions" in the ActionScript 3.0 Developer's Guide.
More examples
Related API Elements
Property | Defined By | ||
---|---|---|---|
constructor : Object
A reference to the class object or constructor function for a given object instance. | Object | ||
dotall : Boolean [read-only]
Specifies whether the dot character (.) in a regular expression pattern matches
new-line characters. | RegExp | ||
extended : Boolean [read-only]
Specifies whether to use extended mode for the regular expression. | RegExp | ||
global : Boolean [read-only]
Specifies whether to use global matching for the regular expression. | RegExp | ||
ignoreCase : Boolean [read-only]
Specifies whether the regular expression ignores case sensitivity. | RegExp | ||
lastIndex : Number
Specifies the index position in the string at which to start the next search. | RegExp | ||
multiline : Boolean [read-only]
Specifies whether the m (multiline) flag is set. | RegExp | ||
prototype : Object [static]
A reference to the prototype object of a class or function object. | Object | ||
source : String [read-only]
Specifies the pattern portion of the regular expression. | RegExp |
Method | Defined By | ||
---|---|---|---|
Lets you construct a regular expression from two strings. | RegExp | ||
Performs a search for the regular expression on the given string str. | RegExp | ||
Indicates whether an object has a specified property defined. | Object | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Tests for the match of the regular expression in the given string str. | RegExp | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
Returns the string representation of the specified object. | Object | ||
Returns the primitive value of the specified object. | Object |
dotall | property |
dotall:Boolean
[read-only] Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifies whether the dot character (.) in a regular expression pattern matches
new-line characters. Use the s
flag when constructing
a regular expression to set dotall = true
.
Implementation
public function get dotall():Boolean
More examples
Example ( How to use this example )
s
(dotall
)
flag on a regular expression:
var str:String = "<p>Hello\n" + "again</p>" + "<p>Hello</p>"; var pattern:RegExp = /<p>.*?<\/p>/; trace(pattern.dotall) // false trace(pattern.exec(str)); // <p>Hello</p> pattern = /<p>.*?<\/p>/s; trace(pattern.dotall) // true trace(pattern.exec(str));
extended | property |
extended:Boolean
[read-only] Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifies whether to use extended mode for the regular expression. When a RegExp object is in extended mode, white space characters in the constructor string are ignored. This is done to allow more readable constructors.
Use the x
flag when constructing a regular expression to set
extended = true
.
Implementation
public function get extended():Boolean
More examples
Example ( How to use this example )
x
flag, causing the white spaces in
the string to be ignored.
var rePhonePattern1:RegExp = /\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}/; var str:String = "The phone number is (415)555-1212."; trace(rePhonePattern1.extended) // false trace(rePhonePattern1.exec(str)); // (415)555-1212 var rePhonePattern2:RegExp = / \d{3}-\d{3}-\d{4} | \( \d{3} \) \ ? \d{3}-\d{4} /x; trace(rePhonePattern2.extended) // true trace(rePhonePattern2.exec(str)); // (415)555-1212
global | property |
global:Boolean
[read-only] Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifies whether to use global matching for the regular expression. When
global == true
, the lastIndex
property is set after a match is
found. The next time a match is requested, the regular expression engine starts from
the lastIndex
position in the string. Use the g
flag when
constructing a regular expression to set global
to true
.
Implementation
public function get global():Boolean
More examples
Example ( How to use this example )
g
(global
) flag on the exec()
method:
var pattern:RegExp = /foo\d/; var str:String = "foo1 foo2"; trace(pattern.global); // false trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 0 trace(pattern.exec(str)); // foo1 pattern = /foo\d/g; trace(pattern.global); // true trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 4 trace(pattern.exec(str)); // foo2
ignoreCase | property |
ignoreCase:Boolean
[read-only] Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9 |
Specifies whether the regular expression ignores case sensitivity. Use the
i
flag when constructing a regular expression to set
ignoreCase = true
.
Implementation
public function get ignoreCase():Boolean
More examples
Example ( How to use this example )
i
(ignoreCase
) flag:
var pattern:RegExp = /bob/; var str:String = "Bob bob"; trace(pattern.ignoreCase); // false trace(pattern.exec(str)); // bob pattern = /bob/i; trace(pattern.ignoreCase); // true trace(pattern.exec(str)); // Bob
lastIndex | property |
lastIndex:Number
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifies the index position in the string at which to start the next search. This property
affects the exec()
and test()
methods of the RegExp class.
However, the match()
, replace()
, and search()
methods
of the String class ignore the lastIndex
property and start all searches from
the beginning of the string.
When the exec()
or test()
method finds a match and the g
(global
) flag is set to true
for the regular expression, the method
automatically sets the lastIndex
property to the index position of the character
after the last character in the matching substring of the last match. If the
g
(global
) flag is set to false
, the method does not
set the lastIndex
property.
You can set the lastIndex
property to adjust the starting position
in the string for regular expression matching.
Implementation
public function get lastIndex():Number
public function set lastIndex(value:Number):void
More examples
Example ( How to use this example )
lastIndex
property, and it shows how it is updated after a call to the exec()
method on a
regular expression in which the g
(global
) flag is set:
var pattern:RegExp = /\w\d/g; var str:String = "a1 b2 c3 d4"; pattern.lastIndex = 2; trace(pattern.exec(str)); // b2 trace(pattern.lastIndex); // 5 trace(pattern.exec(str)); // c3 trace(pattern.lastIndex); // 8 trace(pattern.exec(str)); // d4 trace(pattern.lastIndex); // 11 trace(pattern.exec(str)); // null
multiline | property |
multiline:Boolean
[read-only] Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifies whether the m
(multiline
) flag is set. If it is set,
the caret (^
) and dollar sign ($
) in a regular expression
match before and after new lines.
Use the m
flag when constructing a regular expression to set
multiline = true
.
Implementation
public function get multiline():Boolean
More examples
Example ( How to use this example )
m
(multiline
) flag:
var pattern:RegExp = /^bob/; var str:String = "foo\n" + "bob"; trace(pattern.multiline); // false trace(pattern.exec(str)); // null pattern = /^bob/m; trace(pattern.multiline); // true trace(pattern.exec(str)); // bob
source | property |
source:String
[read-only] Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifies the pattern portion of the regular expression.
Implementation
public function get source():String
More examples
Example ( How to use this example )
source
parameter for two regular expressions:
var re1:RegExp = /aabb/gi; trace (re1.source); // aabb var re2:RegExp = new RegExp("x+y*", "i"); trace(re2.source); // x+y*
RegExp | () | Constructor |
public function RegExp(re:String, flags:String)
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9 |
Lets you construct a regular expression from two strings. One string defines the pattern of the regular expression, and the other defines the flags used in the regular expression.
Parametersre:String — The pattern of the regular expression (also known as the constructor string). This is the
main part of the regular expression (the part that goes within the "/" characters).
Notes:
| |
flags:String — The modifiers of the regular expression. These can include the following:
All other characters in the |
More examples
exec | () | method |
AS3 function exec(str:String):Object
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Performs a search for the regular expression on the given string str
.
If the g
(global
) flag is not set for the regular
expression, then the search starts
at the beginning of the string (at index position 0); the search ignores
the lastIndex
property of the regular expression.
If the g
(global
) flag is set for the regular
expression, then the search starts
at the index position specified by the lastIndex
property of the regular expression.
If the search matches a substring, the lastIndex
property changes to match the position
of the end of the match.
Parameters
str:String — The string to search.
|
Object — If there is no match, null ; otherwise, an object with the following properties:
|
More examples
Related API Elements
Example ( How to use this example )
g
(global
) flag is not set in the regular expression, then you can
use exec()
to find the first match in the string:
var myPattern:RegExp = /(\w*)sh(\w*)/ig; var str:String = "She sells seashells by the seashore"; var result:Object = myPattern.exec(str); trace(result);
The result
object is set to the following:
-
result[0]
is set to"She"
(the complete match). -
result[1]
is set to an empty string (the first matching parenthetical group). -
result[2]
is set to"e"
(the second matching parenthetical group). -
result.index
is set to 0. -
result.input
is set to the input string:"She sells seashells by the seashore"
.
In the following example, the g
(global
) flag is set in the regular
expression, so you can use exec()
repeatedly to find multiple matches:
var myPattern:RegExp = /(\w*)sh(\w*)/ig; var str:String = "She sells seashells by the seashore"; var result:Object = myPattern.exec(str); while (result != null) { trace ( result.index, "\t", result); result = myPattern.exec(str); }
This code results in the following output:
0 She,,e
10 seashells,sea,ells
27 seashore,sea,ore
test | () | method |
AS3 function test(str:String):Boolean
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tests for the match of the regular expression in the given string str
.
If the g
(global
) flag is not set for the regular expression,
then the search starts at the beginning of the string (at index position 0); the search ignores
the lastIndex
property of the regular expression.
If the g
(global
) flag is set for the regular expression, then the search starts
at the index position specified by the lastIndex
property of the regular expression.
If the search matches a substring, the lastIndex
property changes to match the
position of the end of the match.
Parameters
str:String — The string to test.
|
Boolean — If there is a match, true ; otherwise, false .
|
More examples
Example ( How to use this example )
test()
method on a regular
expression in which the g
(global
) flag is set:
var re1:RegExp = /\w/g; var str:String = "a b c"; trace (re1.lastIndex); // 0 trace (re1.test(str)); // true trace (re1.lastIndex); // 1 trace (re1.test(str)); // true trace (re1.lastIndex); // 3 trace (re1.test(str)); // true trace (re1.lastIndex); // 5 trace (re1.test(str)); // false
informalizeGreeting()
method simply replaces the word Hello
with Hi
,
regardless of case. It also strips out the surname in the name in the string
(assuming that name matches the specified pattern). In the validateEmail()
and
validatePhoneNumber()
methods, the string passed is checked to see if its pattern matches a valid
email address or a specific phone number pattern, and the methods return Boolean values based on the results.
package { import flash.display.Sprite; public class RegExpExample extends Sprite { public function RegExpExample() { var formalGreeting:String = "Hello, John Smith."; trace(informalizeGreeting(formalGreeting)); // Hi, John. var validEmail:String = "name@domain.com"; trace(validateEmail(validEmail)); // true var invalidEmail:String = "foo"; trace(validateEmail(invalidEmail)); // false var validPhoneNumber:String = "415-555-1212"; trace(validatePhoneNumber(validPhoneNumber)); // true var invalidPhoneNumber:String = "312-867-530999"; trace(validatePhoneNumber(invalidPhoneNumber)); // false } private function informalizeGreeting(str:String):String { var pattern:RegExp = new RegExp("hello, (\\w+) \\w+", "i"); return str.replace(pattern, "Hi, $1"); } private function validateEmail(str:String):Boolean { var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; var result:Object = pattern.exec(str); if(result == null) { return false; } return true; } private function validatePhoneNumber(str:String):Boolean { var pattern:RegExp = /^\d{3}-\d{3}-\d{4}$/; var result:Object = pattern.exec(str); if(result == null) { return false; } return true; } } }
Mon Nov 28 2011, 06:48 AM -08:00