* Emacs regexp problem
@ 2008-01-29 18:00 mailpitches
2008-01-29 18:50 ` Pascal Bourguignon
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: mailpitches @ 2008-01-29 18:00 UTC (permalink / raw)
To: help-gnu-emacs
X-No-Archive:yes
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?
Thanks
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Emacs regexp problem
2008-01-29 18:00 Emacs regexp problem mailpitches
@ 2008-01-29 18:50 ` Pascal Bourguignon
2008-01-31 6:06 ` Tim X
2008-01-29 19:20 ` Joel J. Adamson
2008-01-29 23:14 ` Xah Lee
2 siblings, 1 reply; 5+ messages in thread
From: Pascal Bourguignon @ 2008-01-29 18:50 UTC (permalink / raw)
To: help-gnu-emacs
"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
--
__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.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Emacs regexp problem
2008-01-29 18:50 ` Pascal Bourguignon
@ 2008-01-31 6:06 ` Tim X
0 siblings, 0 replies; 5+ messages in thread
From: Tim X @ 2008-01-31 6:06 UTC (permalink / raw)
To: help-gnu-emacs
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Emacs regexp problem
2008-01-29 18:00 Emacs regexp problem mailpitches
2008-01-29 18:50 ` Pascal Bourguignon
@ 2008-01-29 19:20 ` Joel J. Adamson
2008-01-29 23:14 ` Xah Lee
2 siblings, 0 replies; 5+ messages in thread
From: Joel J. Adamson @ 2008-01-29 19:20 UTC (permalink / raw)
To: help-gnu-emacs
"mailpitches@email.com" <mailpitches@email.com> writes:
[...]
> 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
They're your parentheses: in emacs \(...\) makes groups, rather than
(...), so your second un-escaped set of parentheses is getting matched
and ending up in the replacement ('\1').
> ; is this an error on emacs' part?
Not really ;)
Joel
--
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA 02114
(617) 643-1432
(303) 880-3109
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Emacs regexp problem
2008-01-29 18:00 Emacs regexp problem mailpitches
2008-01-29 18:50 ` Pascal Bourguignon
2008-01-29 19:20 ` Joel J. Adamson
@ 2008-01-29 23:14 ` Xah Lee
2 siblings, 0 replies; 5+ messages in thread
From: Xah Lee @ 2008-01-29 23:14 UTC (permalink / raw)
To: help-gnu-emacs
For a basic coverage of the diff between emacs and perl/python's
regex, see:
http://xahlee.org/emacs/emacs_regex.html
Xah
xah@xahlee.org
∑ http://xahlee.org/
☄
On Jan 29, 10:00 am, "mailpitc...@email.com" <mailpitc...@email.com>
wrote:
> X-No-Archive:yes
>
> 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?
>
> Thanks
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-01-31 6:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-29 18:00 Emacs regexp problem mailpitches
2008-01-29 18:50 ` Pascal Bourguignon
2008-01-31 6:06 ` Tim X
2008-01-29 19:20 ` Joel J. Adamson
2008-01-29 23:14 ` Xah Lee
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.