[#47548] [ruby-trunk - Feature #8696][Open] Process.setproctitle — "znz (Kazuhiro NISHIYAMA)" <redmine@...>

13 messages 2013/07/27

[#47559] [ruby-trunk - Bug #8711][Open] 最近NoMemoryErrorが多い — "naruse (Yui NARUSE)" <naruse@...>

13 messages 2013/07/31

[ruby-dev:47475] [ruby-trunk - Bug #8583] A problem of condition regexp with a named capture

From: "usa (Usaku NAKAMURA)" <usa@...>
Date: 2013-07-01 04:34:24 UTC
List: ruby-dev #47475
Issue #8583 has been updated by usa (Usaku NAKAMURA).

Backport changed from 1.9.3: UNKNOWN, 2.0.0: REQUIRED to 1.9.3: DONTNEED, 2.0.0: REQUIRED


----------------------------------------
Bug #8583: A problem of condition regexp with a named capture
https://bugs.ruby-lang.org/issues/8583#change-40221

Author: ohai (Ippei Obayashi)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: current: 2.1.0
ruby -v: ruby 2.1.0dev (2013-06-30 trunk 41711) [x86_64-linux]
Backport: 1.9.3: DONTNEED, 2.0.0: REQUIRED


以下の条件分岐を含む正規表現は "xy" "yx" にマッチし、"xx" "yy" にはマッチしません。
  /\A((x)|(y))(?(2)y|x)\z/
名前付きキャプチャを用いた以下の正規表現も同じ挙動をするはずですが、そうはなっていません。
  /\A((?<x>x)|(?<y>y))(?(<x>)y|x)\z/
  # "xx" "yy" にマッチして "xy" "yx" にはマッチしない。

2.0.0-p247, trunk の両方で確認しました。

この問題について調べた所、 名前付きキャプチャを使うときキャプチャの番号をrenumberしている
所で renumber がもれています。

添付したパッチのように修正すれば直ると思います。




-- 
http://bugs.ruby-lang.org/

In This Thread