前田@リコーです。 > >最長一致も使えるので > > str.gsub!(/(\e\$B.+?\e\(B)/) { > 最短一致ですよね ^^ 正規表現の「.+」や「.+?」には「greedy」「non-greedy」という言葉 を使いますが、これは「よくばり」「よくばりでない」という意味です。 最長/最短一致という言葉は普通は使いません(実態に合わないから)。 (げげ、Perl青本でも最長/最短て訳してあるゾ) そのココロは、 + greedy 次の正規表現より、くり返しを優先して試す +? non-greedy 次の正規表現を、くり返しより優先して試す という違いです。 強いて言えば「くり返し優先」「スキップ優先」ですかね。 最長/最短という言葉の印象からくる「長さ」とかその「影響範囲」と かいう考え方は忘れましょう。 ------------------------------- Vulture LRM20 .□||□. LRM20 前田 薫 maeda / src.ricoh.co.jp 75t 175km/h Md+ o'□||□`o Md+ (株)リコー ソフトウェア研究所 HeatSink 18 LG Sm+ .=X~~X=. Sm+ LG ------------------------------- Armor 2195 _|_ _|_