[Minor Change Proposal]Allow back reference with nest level in Onigurumafor Ruby again

  • Thread starter Wolfgang Nádasi-Donner
  • Start date
W

Wolfgang Nádasi-Donner

Hello dear Ruby folks!

Nearly one year ago I asked K. Kosako for a new Oniguruma feature which will
help to recognize plindrome sentences. It was an idea for an article series in
Ruby-Mine, a german Ruby blog site, about pattern matching with Ruby using
regular expressions.

K. Kosako built a special new element, which is described in the History...

-----------------------------------------------------------------
2006/07/18: Version 4.2.0

2006/07/18: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/07/18: [new] (thanks Wolfgang Nadasi-Donner)
add back reference with nest level.
\k<name+n>, \k<name-n>
-----------------------------------------------------------------

....and in the Oniguruma description...

-----------------------------------------------------------------
back reference with nest level

\k<name+n> n: 0, 1, 2, ...
\k<name-n> n: 0, 1, 2, ...
\k'name+n' n: 0, 1, 2, ...
\k'name-n' n: 0, 1, 2, ...

Destinate relative nest level from back reference position.

ex 1.

/\A(?<a>|.|(?:(?<b>.)\g<a>\k<b+0>))\z/.match("reer")

ex 2.

r = Regexp.compile(<<'__REGEXP__'.strip, Regexp::EXTENDED)
(?<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>
__REGEXP__

p r.match('<foo>f<bar>bbb</bar>f</foo>').captures
-----------------------------------------------------------------

This feature disapeared for Ruby later on...

-----------------------------------------------------------------
2006/08/11: Version 4.2.3

....
2006/08/07: [spec] move definition of USE_BACKREF_AT_LEVEL into NOT_RUBY.
-----------------------------------------------------------------

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
My question is now - WHY?????

I would like to see it workable for Ruby again, it can be useful - and - it is
already there!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Wolfgang Nádasi-Donner
 
W

Wolfgang Nádasi-Donner

I have one question, because there is no reaction to this post:

Is this here (comp.lang.ruby) the right place for discussions and "change
proposals" for Oniguruma usage in Ruby 1.9?

If this is not the case, please give me a hint where to place these texts.

Thanks in advance, Wolfgang Nádasi-Donner
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,820
Latest member
GilbertoA5

Latest Threads

Top