help-gnu-emacs
[Top][All Lists]
Advanced

[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 <pjb@informatimago.com> writes:

> "mailpitches@email.com" <mailpitches@email.com> 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
them.

Tim
>
> -- 
> __Pascal Bourguignon__                     http://www.informatimago.com/
>
> 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]