Quick References
ADO
ASP
CSS2
HTML
JavaScript
Jet SQL
VBScript
WML
WMLScript
WSH
XHTML
XML DOM
XSLT
Features
Knowledge Base
Tutorials
Partners
ZVON.ORG
XML
Planet Source Code
VisualBuilder
Web Design
Your HTML Source
XML/XSLT Forums
ASPAlliance
Scripts
Programmers Heaven
Tek-Tips Forums
Developer Fusion
Code Project
All Objects
RegExp Object
METHOD: RegExp::compile
object.
compile
(pattern[, flags])
This method compiles a regular expression object during execution of a script. It is used with a
RegExp
object created with the constructor function in order to compile it once only, this avoiding repeated compilation of a regular expression. This can be done once a regular expression has been got and you are sure that it will then remain constant throughout the rest of the script. The
compile
method can also be used to change and recompile a regular expression.
For example, suppose you created a regular expression consisting of the letters 'man' and then searched for a match in a string and replaced it with 'person' thus:
Code:
myRegExp = /man/
myString = "The Chairman of the Board"
newString = myString.replace(myRegExp, "person")
...the code would match the 'man' of 'Chairman' and replace it producing the word 'Chairperson'. If then you wanted to change the regular expression in order to replace either 'man' or 'woman' with 'person', you could do so using the
compile
method thus:
Code:
myRegExp.compile("(wo)?man")
newString = myString.replace(myRegExp, "person")
The
compile
method can also be used with the flags 'g' for a global match, 'i' for a case-insensitive match and 'gi' for a global, case-insensitive match. So, to expand on the above example, you could alter the regular expression 'MyRegExp' to search for all occurrences of the substrings 'man' and 'woman' and replace them with 'person' as follows:
Code:
myRegExp.compile("(wo)?man", "g")
newString = myString.replace(myRegExp, "person")
NOTE:
Calling the
compile
method alters the value of the
source
,
global
and
ignoreCase
properties of a regular expression.
Copyright 1999-2005 by Infinite Software Solutions, Inc. All rights reserved.
Trademark Information