[#42196] YAML でEUC は使えないのでしょうか。 — Tomokiyo Nomura <tnomura@...>
野村@延岡です。
8 messages
2006/05/05
[#42214] [ANN] RubyKaigi 2006 Announcement — SASADA Koichi <ko1@...>
日本Rubyの会、日本Rubyカンファレンス2006実行委員のささだです。
4 messages
2006/05/10
[#42235] ftp:// のリストを open-uri で得られないでしょうか — "Hideo Konami" <konami@...>
小波です。
5 messages
2006/05/20
[#42243] コミュニティと宗教の分離について — Beyond <beyond@...>
14 messages
2006/05/21
[#42245] Re: コミュニティと宗教の分離について
— Masayoshi Takahashi <takahashi@...>
2006/05/22
高橋征義です。「日本Rubyの会」という集まりの代表をしております。
[#42253] File objectがいつのまにか nilに、 — しん <dezawa@...>
出沢です
9 messages
2006/05/23
[#42267] メニューのループについて — リックス <rubyer4649@...>
りっくすです
21 messages
2006/05/27
[#42275] Re: メニューのループについて
— rubikitch <rubikitch@...>
2006/05/27
From: リックス <rubyer4649@yahoo.co.jp>
[#42276] Re: メニューのループについて
— Hiroshi Yuki <hyuki@...>
2006/05/27
結城です。
[#42301] Re: メニューのループについて — "conundrum /" <conundrum@...>
conundrumです。
11 messages
2006/05/28
[#42306] Re: メニューのループについて
— rubikitch <rubikitch@...>
2006/05/29
From: "conundrum /" <conundrum@hotmail.co.jp>
[ruby-list:42232] Re: 正規表現のマッチングがフリーズしてしまうコード
From:
"NARUSE, Yui" <naruse@...>
Date:
2006-05-20 11:42:30 UTC
List:
ruby-list #42232
成瀬です。
今更ではありますが、Ruby1.9の鬼車だとこんなこともできるんですね、と。
nested_parentheses = /(?<pare>\(([^\(\)]+|\g<pare>)*\))/
これだとちゃんとマッチします。
もっとも、閉じる方向で括弧が余計な場合は大丈夫ですが、
開き括弧が余計にある場合は固まりますが。
名前付き捕獲式集合を定義のみ行う文法があると、
再帰的な正規表現を??{}のようにコードを埋め込むことなく
書くことができそうです。
もっとも、
nested_parentheses = /[^\w\W]
(?<text> [^\(\)]+)
(?<pare> \( (\g<text> | \g<pare>)* \) )|
\g<pare>/x
というように、工夫すれば今でも書けはします。
なお、元の正規表現ですが、
途中、[^\(\)]*[^\(\)]*という部分があるのと、
末尾の\s+\Zが余計かと思います。
rx_five_level_nested_parentheses =
%r!(
\(
[^\(\)]*
(
\(
[^\(\)]*
(
\(
[^\(\)]*
(
\(
[^\(\)]*
(
\(
[^\(\)]*
\)
[^\(\)]*
)*
[^\(\)]*
\)
[^\(\)]*
)*
[^\(\)]*
\)
[^\(\)]*
)*
[^\(\)]*
\)
[^\(\)]*
)*
[^\(\)]*
\)
)!mx
が正しいかと。
これも開き括弧が余計にある場合は固まりますけども。
--
NARUSE, Yui <naruse@airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA