spacer

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

home / experts / javascript / column5


Unix Regular Expressions

Developer News
Eclipse Helios Update Brings New PHP Tools
Internet Explorer 9 Ups Standards Support
JBoss Portal 5 Release Easier to Use

Substitutions

In this section we'll discuss the substitution operator, as implemented in Perl. In the second part of the column we'll discuss JavaScript's implementation, which differs only in syntax.

So far we've discussed ordinary patterns (/.../). However, Perl (and JavaScript) support another powerful operator, which performs substitutions in a string. Its syntax in Perl is:

s/PATTERN/REPLACEMENT/egimosx

JavaScript supports only the /i and /g modifiers.

The substitution operator searches a string for PATTERN, and, if found, replaces the match (not the pattern, of course) with the REPLACEMENT text, and returns the number of substitutions made (this can be more than one if you use the /g modifier).

The REPLACEMENT can also consist of backreferences. The classic substitution example is one that swaps the first two words of a string:

s/(\S+)\s+(\S+)/$2 $1/

The first two words, each matched by the sub-pattern \S+, are surrounded by parentheses that enable backreferences. So $1 reflects the first word in the string, and $2 reflects the second one. In this case, it makes no sense to use the /g modifier, because we are interested in swapping once the first two words.

http://www.internet.com

webref The latest from WebReference.com Browse >
Flashmaps' DynamicLocator: Interactive Maps for Small Areas · Flashmaps' AreaSelector: Interactive Maps for Wide Areas · The DB Mapper: Interactive Street-level Maps of U.S. and Canada
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
MS Access and MySQL · Cisco AutoQoS: VoIP QoS for Mere Mortals · While VoIP Adoption Explodes in Enterprise, Carrier Spending Lags

Created: October 23, 1997, 1997
Revised: October 12, 1998
URL: http://www.webreference.com/js/column5/substitute.html