[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs regexp problem

From: Tim X
Subject: Re: Emacs regexp problem
Date: Thu, 31 Jan 2008 17:06:35 +1100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux)

Pascal Bourguignon <> writes:

> "" <> writes:
>> Hello, I'm doing an emacs replace-regexp and the regexp behaves
>> differently from how it behaves in Python, and also differently from
>> how I expect.
>> I'm trying to add quotes around the parameter in a function call.
>> I.e.:
>> func(param) should be converted to func('param')
>> I use the following command:
>> M-x replace-regexp [enter] get\((.*)\) [enter] get('\1')) [enter]
>> and the result is func(param) is converted to func('(param)')
>> Why are those extra parentheses appearing in there; is this an error
>> on emacs' part?
> Read the doc! (info "(emacs)Regexps")
> emacs regexp are more like BRE than ERE in this respect.
> Use: M-x replace-regexp RET get(\(.*\)) RET get('\1')) RET

Isn't there an extra ) at the end which shouldn't be there?

Also, note the RE's are greedy. This means you probably want to modify
the \(.*\) so that it only matches on the smallest possible match or you
could get odd results if there are any lines with multiple get()s in

> -- 
> __Pascal Bourguignon__           
> READ THIS BEFORE OPENING PACKAGE: According to certain suggested
> versions of the Grand Unified Theory, the primary particles
> constituting this product may decay to nothingness within the next
> four hundred million years.

tcross (at) rapttech dot com dot au

reply via email to

[Prev in Thread] Current Thread [Next in Thread]