September 2003

Regular Expression Search/Replace in Emacs

I'm a big fan of regular expressions - there's no better way to tweak many multiple instances of an HTML tag or attribute, or change a variable name across a bunch of PHP scripts.

Perl sets the standard, but Emacs also provides regex support quite nicely - the only thing is keeping the subtle differences straight. I'm committing this to the site so that I don't have to keep searching hundreds of Emacs mailing list archives the next time I forget.

When specifying a group or character class in an Emacs, you have to escape the container characters. Take the following Perl regex:

/foo (.*?) bar/

This will match any string that has the words 'foo' and 'bar' and extract the string between them. This is how to format it in Emacs:

foo \(.*?\) bar

If you want to use a backrefence in a regex find/replace, use the format

\n

where n is the matched group you want to substitute. So say you have a buffer containing

foo bat bar

and you did a search for

foo \(.*?\) bar

and replaced it with

foo bar \1

The contents of the buffer will now read

foo bar bat.

Read the Emacs manual page on regexps for more details.

Also

Print Your Own Money

Monopoly Money, that is. Now you can purchase all the SCO Unix licenses you want!

On the one hand, the nerd in me is thinking "What a cool and perfectly logical idea. You always wind up running short on 100's." On the other hand, the cynic in me is thinking, "Great... in a couple of years the game won't even come with money; you'll have to use $50 worth of your own printer ink, but they'll still sell the game for the same price."

Syndicate content

Twitter

  • Nothing says "this crappy joke that's been forwarded 27 times is not nearly as funny as the subject line says" like Comic Sans. #fb 4 years 33 weeks ago
  • Ah, southwestern New Hampshire, where it's hard to tell whether or not a guy's mullet is ironic. #fb 4 years 34 weeks ago
  • Pancake making hack: put the syrup in The oven at 200F along w/pancakes to keep everything nice and hot. #fb 4 years 34 weeks ago
  • Just finished cooking one of those meals that somehow completely destroys the kitchen. I'll be more organized next time. #fb 4 years 35 weeks ago
  • I wish the TSA would get on with it and just ban passengers from flights altogether. That will make us all safe. 4 years 35 weeks ago

Older

Contact

Andy Chase
(978) 297-6402
andychase [at] gmail.com
GPG/PGP Public Key