All Objects
OBJECT: RegExp
new
RegExp
("pattern"[, "flags"])
The
RegExp
object contains the pattern of a regular expression, and is used to match strings using its methods and properties. The predefined
RegExp
object has static properties set whenever a regular expression is used, as well as user-defined ones for individual objects. A
RegExp
object can be created in two ways: either by using the
constructor
function, or with a literal text format. In both cases you need to specify the text pattern of the regular expression, and optionally one of the three possible flags: 'g' for a global match, 'i' to ignore case, or 'gi' for a case-insensitive global match.
The following code creates a regular expression using the
constructor
function, that matches an initial letter 'a' irrespective of case:
Code:
myRegExp = new RegExp("^a", "i")
Note that when using the
constructor
function, you must use quotation marks to indicate strings. Also, the normal string escape rules apply and you must use a back slash before special characters as in the following code which creates a regular expression of a tab character:
Code:
myRegExp = new RegExp("\\t")
Using the literal text format you do not need to use quotation marks. To create a regular expression consisting of a case-insensitve initial 'a' you could use the following code:
Code:
myRegExp = /^a/i
...and a regular expression consisting of a tab character could be created as follows:
Code:
myRegExp = /\t/
The literal notation of a regular expression provides compilation of it when the expression is evaluated, and this is used when you know that a regular expression is going to remain constant. When you know that an expression is going to change, or you don't know what that expression is because it will be input by a user, you need to use the
constructor
function which is compiled at run time. You can, however, compile a regular expression at any time using the
compile
method. Each window has its own predefined
RegExp
object thus ensuring that different threads of JavaScript execution don't overwrite values of the
RegExp
object.
For a complete list and description of the special characters that can be used in a regular expression, see the
special characters
page.
PROPERTIES
$1, ..., $9
Property
These are properties containing parenthized substrings (if any) from a regular expression.
$ Property
See the
input
property.
$* Property
See the
multiline
property.
$& Property
See the
lastMatch
property.
$+ Property
See the
lastParen
property.
$` Property
See the
leftContext
property.
$' Property
See the
rightContext
property.
constructor Property
This property specifies the function that creates an object's prototype. See the
Object.constructor
property.
Syntax:
RegExp.
constructor
global
Property
This property reflects whether the 'g' flag was used to match a regular expression globally in a string, or just the first occurrence of it. Its value is
true
if the 'g' flag was used and
false
if not. Note that this property is read-only but that calling the
compile
method does alter it.
Syntax:
object.
global
ignoreCase
Property
This property reflects whether the 'i' flag was used for a case-insensitive match of a regular expression in a string, returning
true
if it was and
false
if not. Note that this property is read-only but that calling the
compile
method does alter it.
Syntax:
object.
ignoreCase
input
Property
This property is a string against which a regular expression is matched.
Syntax:
RegExp.
input
lastIndex
Property
This property is an integer that specifies the index at which to start the next match, but is only set if the regular expression uses the 'g' flag to specify a global search.
Syntax:
object.
lastIndex
lastMatch
Property
This property is the last matched characters. As this property is static, you always use
RegExp.lastMatch
.
Syntax:
RegExp.
lastMatch
lastParen
Property
This property contains the last matched parenthesized substring (if any), and as a static property is always refered to using
RegExp.lastParen
.
Syntax:
RegExp.
lastParen
leftContext
Property
This property is the substring upto the character most recently matched; i.e. everything that comes before it, and as a static property, is always used as
RegExp.leftContext
.
Syntax:
RegExp.
leftContext
multiline
Property
This property reflects whether a search is to be carried out over multiple lines, returning
true
if it is, and
false
if not. Being a static property, you always use
RegExp.multiline
. When an event handler is called for a TEXTAREA form element, the browser sets the
multiline
property to
true
. Once the event handler has finished executing, it is reset to
false
, even if it was set at
true
before the event handler was called.
Syntax:
RegExp.
multiline
prototype Property
This property represents the prototype for this class, and allows you to add your own properties and methods to all instances of it. See the
Function.prototype
property.
Syntax:
RegExp.
prototype
rightContext
Property
This property is the substring after the character most recently matched; i.e. everything that follows it, and as a static property, is always used as
RegExp.rightContext
.
Syntax:
RegExp.
rightContext
source
Property
This is a read-only property containing the source of the regular expression: i.e. everything except the forward slashes and any flags. The
source
property cannot be changed directly, however calling the
compile
method does alter it. For example, with the regular expression
rexp = /[^aeiou\s]{2}/g
the value of the
source
property would be
[^aeiou\s]{2}
.
Syntax:
object.
source
METHODS
compile
Method
This method compiles a regular expression object during execution of a script.
Syntax:
object.
compile
(pattern[, flags])
exec
Method
This method executes a search for a match in a specified string, returning a result array.
Syntax:
object.
exec
([str])
object
([str])
test
Method
This method tests for a match of a regular expression in a string, returning
true
if successful, and
false
if not.
Syntax:
object.
test
([str])
toSource Method
This method returns the source code of a
RegExp
object and is usually called internally by JavaScript. It also overrides the
Object.toSource
method.
Syntax:
object.
toSource
()
toString Method
This method returns a string representing the
RegExp
object, and this overrides the
Object.toString
method
.
Syntax:
object.
toString
()
valueOf Method
This method returns a primitive value for the
RegExp
object as a string data type, and is equivalent to the
RegExp.toString
method. It is usually called internally by JavaScript and overrides the
Object.valueOf
method.
Syntax:
object.
valueOf
()
NOTE:
The
regExp
object also inherits the
watch
and
unwatch
methods from the
Object
object.
Copyright 1999-2001 by Infinite Software Solutions, Inc. All rights reserved.
Trademark Information