[TxMt] Re: Search & replace regex question

Hans-Jörg Bibiko bibiko at eva.mpg.de
Thu Sep 4 07:30:32 UTC 2008


> OK. Maybe you remember Thomas Aylott and I fiddled around to
> implement a command which is able to select/find balanced HTML/XML  
> tags.
> Finally we found a solution but it makes usage of many many lines of
> source code (the command should be in the TM trunk experimental).
>
> Some while ago I read Oniguruma's RE.txt carefully. This kind of
> match is supported natively by Oniguruma. It is called 'back
> reference with nest level'.
>
> Example 1:
>
> I have a string: "<foo>f<foo>b<bar>123<bar>456</bar></bar>bb</foo>f</
> foo>"
> and this regexp (please don't be frightened ;):
>
> (?<element>\g<stag>\g<content>*\g<etag>){0}(?<stag><\g<name>\s*>){0}(?
> <name>[a-zA-Z_:]+){0}(?<content>[^<&]+(\g<element>|[^<&]+)*){0}(?
> <etag></\k<name+1>>){0}\g<element>

Stop. I've just tried out the regexp with TM and IT ALREADY WORKS ;-O
[I could swear that I tried it out some while ago]

I believe I did an error in reasoning. This has nothing to do with the  
replacement format string. All these nested stuff is only relevant  
within the regexp.


--Hans




More information about the textmate mailing list