[#42027] 正規表現のマッチングがフリーズしてしまうコード — "conundrum /" <conundrum@...>

conundrumです。

14 messages 2006/04/14

[#42053] NKF MIME encode problem — OHARA Shigeki <os@...>

大原です。

55 messages 2006/04/20
[#42054] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/04/20

大原です。

[#42059] Re: NKF MIME encode problem — "NARUSE, Yui" <naruse@...> 2006/04/20

成瀬です。

[#42061] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/04/21

大原です。

[#42067] Re: NKF MIME encode problem — しん <dezawa@...> 2006/04/21

え、

[#42068] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/04/21

大原です。

[#42079] Re: NKF MIME encode problem — しん <dezawa@...> 2006/04/21

出沢です

[#42080] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/04/21

大原です。

[#42179] Re: NKF MIME encode problem — しん <dezawa@...> 2006/05/01

出沢@逃避中 です

[#42180] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/05/01

大原です。

[#42185] Re: NKF MIME encode problem — しん <dezawa@...> 2006/05/02

出沢です

[#42212] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/05/09

大原です。

[#42265] mime_header.rb(Re: NKF MIME encode problem) — しん <dezawa@...> 2006/05/27

出沢です

[#42295] Re: mime_header.rb(Re: NKF MIME encode problem) — OHARA Shigeki <os@...> 2006/05/28

大原です。

[#42297] Re: mime_header.rb — しん <dezawa@...> 2006/05/28

出沢です

[#42300] Re: mime_header.rb — "NARUSE, Yui" <naruse@...> 2006/05/28

成瀬です。

[#42303] Re: mime_header.rb — OHARA Shigeki <os@...> 2006/05/29

大原です。

[#42110] Re: puts,printの出力をファイルにも出力するには — 岩崎 弘孝 <IH000667@...>

岩崎です。

11 messages 2006/04/25

[#42121] RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...>

ノートパソコンと電子コンパスをRS232Cで接続し、データを取得するプログラ

40 messages 2006/04/25
[#42122] Re: RS232Cによるパソコン間の通信の不具合(質問) — Hidetoshi NAGAI <nagai@...> 2006/04/25

永井@知能.九工大です.

[#42124] Re: RS232Cによるパソコン間の通信の不具合(質問) — "yahata hisashi" <yahatah@...> 2006/04/25

永井様

[#42133] Re: RS232Cによるパソコン間の通信の不具合(質問) — Hidetoshi NAGAI <nagai@...> 2006/04/26

永井@知能.九工大です.

[#42134] Re: RS232Cによるパソコン間の通信の不具合(質問) — KIMURA Koichi <kimura.koichi@...> 2006/04/26

木村です。

[#42135] Re: RS232Cによるパソコン間の通信の不具合(質問) — "U.Nakamura" <usa@...> 2006/04/26

こんにちは、なかむら(う)です。

[#42138] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/26

様々にご検討をいただき感謝申し上げます。

[#42139] Re: RS232Cによるパソコン間の通信の不具合(質問) — "U.Nakamura" <usa@...> 2006/04/26

こんにちは、なかむら(う)です。

[#42140] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/26

最後までお付き合いいただきまして、有り難うございます。

[#42141] Re: RS232Cによるパソコン間の通信の不具合(質問) — "U.Nakamura" <usa@...> 2006/04/26

こんにちは、なかむら(う)です。

[#42143] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/26

[#42144] Re: RS232Cによるパソコン間の通信の不具合(質問) — kou@... (塚本 晃介) 2006/04/26

塚本と申します

[#42145] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/26

[#42149] Re: RS232Cによるパソコン間の通信の不具合(質問) — KIMURA Koichi <kbk@...> 2006/04/26

木村です。

[#42159] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/28

[#42162] Re: RS232Cによるパソコン間の通信の不具合(質問) — AOKI Shigeru <saoki@...> 2006/04/28

青木@ナセ工企です。

[#42165] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/28

長い質問に丁寧にご回答いただき大変有り難うございます。

[ruby-list:42029] Re: 正規表現のマッチングがフリーズしてしまうコード

From: KIMURA Koichi <kbk@...>
Date: 2006-04-14 19:21:38 UTC
List: ruby-list #42029
木村です。

conundrum / さんは書きました (2006/04/15 0:52):
> conundrumです。
>
> 仕事で、C++のソースコードをスキャンするRubyスクリプトを書いています。
> なんでそんなことしているかというと、とても特殊な組み込みC++でして、
> 奇怪なコーディングルールがたくさんあって、
> それに違反していないかどうかを、チェックするため。
>
> 先日、そのC++コードをスキャンするRubyスクリプトが、ハングアップするように
> なってしまいました。
> 原因は、正規表現のマッチングで固まってしまうことでした。

まつもとさんのリプライにもあったように、バックトラックが
莫大な回数になったためにハングアップしたかのように見えている
のだと思います。面倒なので回数の計算はしませんが(^^;
簡単に言うと、「(バックトラックする)繰り返しを繰り返すと
バックトラックが幾何級数的に増える可能性がある」ということです。

試しに、正規表現を必要ないところではバックトラックを
抑止するようにすると、すぐに返ってくるようになります。

ただ、そのように書き換えても希望通りには動いていないと思いますが。
#望むようには動かないが書いたようには動く。

まつもとさんの挙げられた「詳説 正規表現」の 7.8.1 とか
6.1.4 あたりが参考になると思います。7.8.1にあるような
正規表現がRubyでも書けるといいんですけどね。

-- 
木村浩一
  I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
  mail kbk at kt.rim.or.jp
	web  www.kt.rim.or.jp/~kbk/index.html#zakkicho
	     homepage3.nifty.com/farstar/


In This Thread