spacer

Webref WebRef   Sitemap · Experts · Tools · Services · Newsletters · About i.com

home / experts / javascript / column5


Unix Regular Expressions

Developer News
News Flash: Adobe Has iPhone Workaround
Adobe's Flash 10.1 Goes Mobile (Minus iPhone)
A Salute to Visionary CEOs

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:

ModifierDescription
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":

/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

http://www.internet.com

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs

webref The latest from WebReference.com Browse >
Building a Banking Application Home Page with OOP · Mixing Scripting Languages · Review: phpFox, a Social Networking CMS with all the Bells and Whistles
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Enterprise 2.0: Social Networking in the Cloud · BroadSoft Marketplace Hastens Pace of Telephony Innovation · Review: HTC Hero for Sprint

Created: October 23, 1997, 1997
Revised: December 4, 1997
URL: http://www.webreference.com/js/column5/modifiers.html