unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
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.

  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).