前田@リコーです。

> 最長一致も使えるので
> 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           _|_    _|_