Matching Operator Modifiers
Take a look at the following regular expressions (patterns):
m/abc/
/abc/
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):
m^abc^
Back to the example. This regexp matches any one of the following strings: "abcdef""defabc"".=.abc.=."
But this expression doesn't match any of these: "fedcba""ab c""JavaScript"
The matching operators (m// and s///) can have various modifiers, some of which affect the interpretation of the regular expression inside:
| Modifier | Description |
g | Do global pattern matching. |
i | Do 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":
/JavaScript/i
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:
/abc/gi
            
|