[#15357] Regexp literal and Regexp.new() — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

14 messages 2001/12/05
[#15358] Regexp in UTF-8 (Re: Regexp literal and Regexp.new()) — TAKAHASHI Masayoshi <maki@...> 2001/12/05

高橋征義です。むーん、問題のありかが違ったかも。

[#15435] Time#utcoff — Tanaka Akira <akr@...17n.org>

In article <hvosnahj702.fsf@coulee.a02.aist.go.jp>,

20 messages 2001/12/13
[#15436] Re: Time#utcoff — matz@... (Yukihiro Matsumoto) 2001/12/14

まつもと ゆきひろです

[#15505] ERb — m_seki@...

74 messages 2001/12/20
[#15560] Re: ERb — Tanaka Akira <akr@...17n.org> 2001/12/27

In article <20011220114249J.seki@mr.nasu.toshiba.co.jp>,

[#15879] Re: ERb — m_seki@... 2002/02/12

[#15884] Re: ERb — Tanaka Akira <akr@...17n.org> 2002/02/14

In article <m3eljr5o9m.wl@edwin.mva.biglobe.ne.jp>,

[#15885] Re: ERb — m_seki@... 2002/02/14

[#15886] Re: ERb — m_seki@... 2002/02/14

[#15887] Re: ERb — TAKAHASHI Masayoshi <maki@...> 2002/02/14

高橋征義です。

[#15888] Re: ERb — m_seki@... 2002/02/14

[#15896] Re: ERb — Tanaka Akira <akr@...17n.org> 2002/02/15

In article <20020215085405G.seki@mr.nasu.toshiba.co.jp>,

[#15898] Re: ERb — m_seki@... 2002/02/15

[#15900] Re: ERb — TADA Tadashi <sho@...> 2002/02/16

ただただしです。

[#15901] Re: ERb — m_seki@... 2002/02/16

[#15906] Re: ERb — matz@... (Yukihiro Matsumoto) 2002/02/17

まつもと ゆきひろです

[#15909] 1.6 の寿命 (Re: Re: ERb) — Koji Arai <JCA02266@...> 2002/02/17

新井です。

[#15507] fileutils (2) — Minero Aoki <aamine@...>

あおきです。

30 messages 2001/12/20
[#15512] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/20

高橋征義です。

[#15513] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/21

あおきです。

[#15515] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/21

高橋征義です。結論は最後に。

[#15516] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/21

あおきです。

[#15533] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/22

高橋征義です。

[#15536] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/24

あおきです。

[#15540] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/24

高橋征義です。

[#15545] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/24

あおきです。

[#15557] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/26

高橋征義です。

[#15567] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/27

あおきです。

[#15573] [patch] resolv.rb for win32 platform — Tietew <tietew-ml-ruby-dev@...>

Tietew です。

22 messages 2001/12/28

[ruby-dev:15495] Re: gsub weirdness: gsub(/.*$/, "foo")

From: Wakou Aoyama <wakou@...>
Date: 2001-12-18 20:59:32 UTC
List: ruby-dev #15495
青山です。

On Tue, Dec 18, 2001 at 06:21:28PM +0900,
Akinori MUSHA <knu@iDaemons.org> wrote:

> 正規表現エンジンはいじらず、 gsub()/scan() などのカーソルの動かし
> 方もそのままに、繰返しの中で前回のマッチの終端の空にマッチしたら
> 捨てて次へ行くという挙動を考えていました。

可能なようにも思えますが、後方を気にしながらよりも、このような場合には、
いっそ、$ つまり (?=) を使わなければ、カーソルは先へ行ったままになるの
で、それで良さそうな気もします。

$ ruby -e 'p "abc\ndef\n".gsub(/.*(\n)/, %q|x\1|)'
"x\nx\n"

Perl 4 の頃には (?=) などはありませんでしたから、/()/, \1 という手法は
良く使っていました。

また、このように複数行を扱う時には、$ も、このように混乱する場合がある
ので、複雑な対策を考えるよりも、\n と記述してしまって、/(\n)/, \1 とし
てしまっていました。

>  そもそも空にマッチしうるパターンには注意が必要ということを
> 踏まえると、注意と工夫次第で避けられるという気はしてきました。

そうですね。たまたま最初のメールが、こういうものでしたっけ? という、
挙動の確認のような話しだったので、対策の話しが遅れましたが、上記のよう
に、そういうものだ、と思って別解へ向かってみると、結構簡単に対策は出て
来ます。

>  今回はたまたま sed, perl, ruby の正規表現の挙動について確認
> していたら一見奇妙な結果を得て思わず投げてしまっただけなので、
> 具体的に困っているわけではありません。
> 
>  /.*$/ の意図はおそらく /^.*/ でしょうし、 /a*$/ も置換なら
> /a+$/ に対して行うのが普通でしょう、ということで納得します。

なるほど、そうでしたか。最初のメールが、確認、という感じでしたので、あ
のように続けてしまいましたが、もし、確認ではなく、提案、というつもりだっ
たとしたら、せっかくの良さそうな案を止めるようで申し訳ないな、という気
持もしていました。

現状としては、そのようなもの、と納得するしかないような気がしますが、将
来的には、何か解法が得られるといいですね。


-- 
青山 和光 Wakou Aoyama  <wakou@fsinet.or.jp>

In This Thread

Prev Next