[#47049] fileのopenに関する動作についての質問 — 高橋作郎 <sakurou3960@...>

はじめまして。

14 messages 2010/05/04

[ruby-list:47066] Re: match メソッドの pos オプションを指定した場合の \A のマッチ

From: "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
Date: 2010-05-06 09:23:14 UTC
List: ruby-list #47066
> こちらは現在の仕様で正しいと思います。
> 開始位置をずらしながらなめるような処理において、1つの正規表現で文字列先頭用と
> 途中用のパターンを含ませた場合、例えば /\A<\?xml[^>]*\?><foo>|<bar>/ などでは
> 1つ目のパターンでは本当に文字列先頭の時だけにマッチさせたいわけですから、
> 途中でマッチしては困ります。
> そのようなユースケースが想定される以上、その場合のための手段は提供されるべきでしょう。
> 
> また、仰るような開始位置の先頭に対して作用する要素にはすでに \G が存在します。
> 
> よって、\A の意味変更は代替手段がなく、仰る用途にはすでにそれ用の \G があるので、
> 現状のままで正しいと思います。

ありがとうございます。

\G って、gsub とか scan のように、メソッド側から能動的(?)に繰り返す場合は
前回マッチした場所の次にマッチして、match のマッチのような受動的な(?)繰り返し
では先頭の 1 回しかマッチしないのですね。

In This Thread

Prev Next