[ruby-dev:48085] [ruby-trunk - Bug #9693] [Open] \x{} in regexp
From:
zn@...
Date:
2014-04-02 00:49:09 UTC
List:
ruby-dev #48085
Issue #9693 has been reported by Kazuhiro NISHIYAMA.
----------------------------------------
Bug #9693: \x{} in regexp
https://bugs.ruby-lang.org/issues/9693
* Author: Kazuhiro NISHIYAMA
* Status: Open
* Priority: Normal
* Assignee:
* Category: regexp
* Target version:
* ruby -v: ruby 2.2.0dev (2014-02-23 trunk 45151) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
https://github.com/rurema/doctree/issues/80 の話です。
`regparse.c` の `OnigSyntaxRuby` では `ONIG_SYN_OP_ESC_X_BRACE_HEX8` が有効になっていて、使えることを意図しているように見えるのですが、正規表現リテラルだと parser が通してくれなくて `syntax error, unexpected '{', expecting end-of-input` になるようです。
`Regexp.new` に直接渡しても `re.c` の中で `invalid hex escape` になるので使えないようです。
--
https://bugs.ruby-lang.org/