From: matz@... (Yukihiro Matsumoto) Date: 1997-11-18T13:47:11+09:00 Subject: [ruby-list:5319] Re: 正規表現について まつもと ゆきひろです In message "[ruby-list:5314] 正規表現について" on 97/11/18, futami ryutaro writes: |はじめまして、二見です。 |そこで教えてください。 |・この正規表現で問題ありませんか? |・正しく動かすにはどこを直せばいいのでしょうか? |よろしくおねがいいたします。 正規表現には問題ないです.これはrubyの使っている正規表現ルー チンのバグです.パッチを出します. それとそろそろ1.0の新しいのを出そうと思います. --- regex.c~ Fri Nov 7 16:22:23 1997 +++ regex.c Tue Nov 18 13:49:01 1997 @@ -1205,2 +1205,7 @@ + /* When hit this when matching, set the succeed_n's n. */ + GET_BUFFER_SPACE(5); + insert_op_2(set_number_at, laststart, b, 5, lower_bound); + b += 5; + /* More than one repetition is allowed, so put in at @@ -1213,3 +1218,4 @@ { - store_jump_n(b, jump_n, laststart, upper_bound - 1); + GET_BUFFER_SPACE(15); + store_jump_n(b, jump_n, laststart+5, upper_bound - 1); b += 5; @@ -1217,4 +1223,6 @@ preceding jump_n's n to upper_bound - 1. */ + insert_op_2(set_number_at, laststart, b, b - laststart, upper_bound - 1); + b += 5; + BUFPUSH(set_number_at); - GET_BUFFER_SPACE(2); STORE_NUMBER_AND_INCR(b, -5); @@ -1222,6 +1230,2 @@ } - /* When hit this when matching, set the succeed_n's n. */ - GET_BUFFER_SPACE(5); - insert_op_2(set_number_at, laststart, b, 5, lower_bound); - b += 5; }