Regular Expressions: Matching Operator Modifiers - Doc JavaScript | WebReference

Regular Expressions: Matching Operator Modifiers - Doc JavaScript

Unix Regular Expressions

Matching Operator Modifiers

Take a look at the following regular expressions (patterns):


Regular expressions are normally delimited by forward slashes. In Perl you can use m@ and @ as delimiters, where @ can be any non-alphanumeric, non-whitespace character. The m is optional if you use forward slashes. In JavaScript you must use forward slashes, without an initial m. Here's an example of a regular expression that does not utilize forward slashes (not valid in JavaScript):


Back to the example. This regexp matches any one of the following strings:

But this expression doesn't match any of these:

The matching operators (m// and s///) can have various modifiers, some of which affect the interpretation of the regular expression inside:

gDo global pattern matching.
iDo case-insensitive pattern matching.
m*Treat the string as multiple lines.
s*Treat the string as a single line.
x*Ignore whitespace within a pattern.
* Modifiers that are not supported by Navigator 4.0x and Internet Explorer 4.0.

The following pattern matches both "javascript" and "JavaScript":


The /i modifier instructs the Engine to perform case-insensitive pattern matching, so the case of alphabetic characters doesn't matter.

The /x modifier tells the Engine to ignore whitespace that is not backslashed or within a character class. Use this modifier to break up your regular expression into more readable parts. The following patterns match "abc":

/a b c/x
m#a b c#x

Although the /x modifier is a documented feature, it is not supported by Navigator 4.0x or Internet Explorer 4.0. The only modifiers that are currently supported by Navigator 4.0x and Internet Explorer 4.0 are /i and /g. You can attach both modifiers to a single pattern in the following fashion:


Created: October 23, 1997, 1997
Revised: December 4, 1997