From: Peter Dyballa <Peter_Dyballa@Web.DE>
Cc: GNU Emacs List <help-gnu-emacs@gnu.org>
Subject: Re: multiline regex mode?
Date: Sat, 25 Nov 2006 14:14:05 +0100 [thread overview]
Message-ID: <6EFCA005-F27F-43D1-9005-EE8127118334@Web.DE> (raw)
In-Reply-To: <87lkm01b6y.fsf@hans.local.net>
Am 25.11.2006 um 04:01 schrieb Dieter Wilhelm:
>> So "{[^}]*}" stands for 'a region that starts with `{´ and has no `}´
>> until the final `}´ is hit; between both braces any number (starting
>> with 0) of any character except `}´ can appear.'
>
> Thanks Peter for the hassle. Maybe I expressed myself in a confusing
> manner: The period and the character alternatives I understand. What
> I really wanted to know is where to look for a possibility of
> searching for *balanced* brackets like { { } } because I'll need this
> in my own Elisp stuff. It's clear that there is some code in Emacs
> for it (e. g. C-M-f etc.) but I have a hunch that there might be
> something else out there. Maybe a regexp extension in Perl or ...
I think you can't use one regular expression for a variety of nested
"*balanced* brackets like { { } }".
A simple regexp would be: find a region that starts after `{´ and has
neither `}´ nor `{´
until it reaches the first `}´:
{[^{}]*}
It's obvious that it can't find your case. Before and after the
previous case from above this previous case has to be repeated. Let's
try this:
{[^{}]*·{[^{}]*}·[^{}]*} ; the · might help to understand, they are
not meant to be parts of the regexp! So remove them before trying to
use it!
{ and no { or }, then { and no { or }, then }, and no { or }, but a
final }.
You can find the { { { } } } case ... or the { { } { } } case or ...
And you would need to find an algorithm in which sequence to apply them!
Perl won't help. It has the same restrictions (or it wouldn't handle
basic or extended regular expressions). It's only possible to use a
more complicated syntax that less people would try to understand.
--
Mit friedvollen Grüßen
Pete
Windows, c'est un peu comme le beaujolais nouveau: à chaque nouvelle
cuvée on sait que ce sera dégueulasse, mais on en prend quand même,
par masochisme.
next prev parent reply other threads:[~2006-11-25 13:14 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-09 12:57 multiline regex mode? Giles Chamberlin
2006-10-13 20:02 ` Dieter Wilhelm
[not found] ` <mailman.8131.1160774366.9609.help-gnu-emacs@gnu.org>
2006-10-16 10:20 ` Giles Chamberlin
2006-10-16 11:24 ` Michaël Cadilhac
[not found] ` <mailman.8206.1160997864.9609.help-gnu-emacs@gnu.org>
2006-10-16 15:42 ` Giles Chamberlin
2006-11-23 19:25 ` Stefan Monnier
2006-11-24 21:14 ` Dieter Wilhelm
2006-11-24 22:51 ` Peter Dyballa
2006-11-25 3:01 ` Dieter Wilhelm
2006-11-25 13:14 ` Peter Dyballa [this message]
2006-11-25 16:32 ` Perry Smith
2006-11-25 18:33 ` Dieter Wilhelm
[not found] ` <mailman.1100.1164472360.2155.help-gnu-emacs@gnu.org>
2006-11-25 17:23 ` [OT] " Harald Hanche-Olsen
[not found] ` <mailman.1092.1164460454.2155.help-gnu-emacs@gnu.org>
2006-11-25 14:11 ` Harald Hanche-Olsen
2006-11-25 18:27 ` Dieter Wilhelm
[not found] ` <mailman.1107.1164479289.2155.help-gnu-emacs@gnu.org>
2006-11-25 19:29 ` Harald Hanche-Olsen
2006-11-25 3:32 ` Perry Smith
2006-11-25 10:11 ` Quoting style of arguments etc. [was: multiline regex mode?] Dieter Wilhelm
2006-11-25 10:23 ` multiline regex mode? Peter Dyballa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6EFCA005-F27F-43D1-9005-EE8127118334@Web.DE \
--to=peter_dyballa@web.de \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).