[#20475] Wrapping Regexp in C++/Windows — OZAWA Sakuro <crouton@...>

さくです。

15 messages 2000/02/03

[#20534] ftpmirror-1.2.2 で @homepage へ up 不可 — Hirokazu Kiuchi <kiuchi@...>

はじめまして、きうちです。

12 messages 2000/02/07

[#20554] エスケープされていないものだけを置換 — Ayanosuke <aya@...>

 館林と申します。

35 messages 2000/02/07
[#20563] Re: エスケープされていないものだけを置換 — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/02/07

なひです.

[#20598] — "okaukio+mls" <jtz4046@...6.mnx.ne.jp>

ruby-list@netlab.co.jp のみなさん こんにちは。

126 messages 2000/02/08
[#20600] Re: — "Y Kataoka" <kataoka@...> 2000/02/09

片岡と申します。

[#20620] Re: — "okaukio+mls" <jtz4046@...6.mnx.ne.jp> 2000/02/10

おかゆきおです。

[#20623] Re: How to run ruby — Masaki Suketa<CQN02273@...> 2000/02/11

助田です.最初からこのツリーちゃんと読んでなかったんですが...

[#20630] Re: How to run ruby — "okaukio+mls" <jtz4046@...6.mnx.ne.jp> 2000/02/11

おかゆきおです。

[#20633] Re: How to run ruby — Masaki Suketa<CQN02273@...> 2000/02/12

助田です.ちょっと長いです.

[#20640] Re: How to run ruby — "okaukio+mls" <jtz4046@...6.mnx.ne.jp> 2000/02/12

おかゆきおです。

[#20645] Re: How to run ruby — WATANABE Hirofumi <eban@...> 2000/02/12

わたなべです.

[#20653] Re: How to run ruby — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/02/13

[#20655] Re: How to run ruby — OZAWA Sakuro <crouton@...> 2000/02/13

In article <38A6419D15E.469A.BXQ04723@nifty.ne.jp>,

[#20657] Re: How to run ruby — Fumitake Taniguchi <whom@...3.so-net.ne.jp> 2000/02/13

In <200002130938.SAA17120@rose.duelists.org>,

[#20658] Re: How to run ruby — OZAWA Sakuro <crouton@...> 2000/02/13

In article <200002131054.TAA09555@mail.fb3.so-net.ne.jp>,

[#20661] Re: How to run ruby — nobu.nakada@... 2000/02/13

なかだです。

[#20677] Re: How to run ruby — "Hideaki Takata" <hideakit@...3.dion.ne.jp> 2000/02/13

たかた@久しぶりの投稿です。

[#20691] Re: How to run ruby — "Hideaki Takata" <hideakit@...3.dion.ne.jp> 2000/02/14

たかたです

[#20736] Re: How to run ruby — "Hideaki Takata" <hideakit@...3.dion.ne.jp> 2000/02/15

たかたです

[#20746] Re: How to run ruby — "Hideaki Takata" <hideakit@...3.dion.ne.jp> 2000/02/15

たかたです

[#20765] Re: rbsh — rubikitch <rubikitch@...> 2000/02/16

From: "Hideaki Takata" <hideakit@d3.dion.ne.jp>

[#20783] Re: rbsh — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/02/17

[#20777] Re: Where is http-access.rb? — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/02/16

なひです.

[#20792] Re: Where is http-access.rb? — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/02/17

なひです.

[#20625] druby で 3 つのプロセス間でオブジェクトをやり取りする — 堀川 久 <vzw00011@...>

 こんにちは。

12 messages 2000/02/11
[#20628] Re: druby で 3 つのプロセス間でオブジェクトをやり取りする — Masatoshi SEKI <m_seki@...> 2000/02/11

[#20638] Re: druby で 3 つのプロセス間でオブジェクトをやり取りする — 堀川 久 <vzw00011@...> 2000/02/12

 こんにちは。

[#20722] opttest.rb of optparse-0.6 — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp>

Toshです。

15 messages 2000/02/15

[#20737] Ruby/Gtk の CList にパッチ — YASUI Kentarow <kenyasui@...>

安井です。

14 messages 2000/02/15
[#20950] Re: Ruby/Gtk の CList にパッチ — Hiroshi IGARASHI <igarashi@...> 2000/02/22

いがらしです。返答が遅くなりすみません。

[#20955] Re: Ruby/Gtk の CList にパッチ — matz@... (Yukihiro Matsumoto) 2000/02/22

まつもと ゆきひろです

[#20821] method object — thitoshi@... (TAKAHASHI Hitoshi)

45 messages 2000/02/18
[#20824] Re: method object — Masahiro Suzuki <msuzuki@...> 2000/02/18

こんにちは。鈴木@仕事中です。

[#20827] Re: method object — thitoshi@... (TAKAHASHI Hitoshi) 2000/02/18

[#20829] Re: method object — matz@... (Yukihiro Matsumoto) 2000/02/18

まつもと ゆきひろです

[#20832] Re: method object — thitoshi@... (TAKAHASHI Hitoshi) 2000/02/18

[#20885] Re: collect + find_all ==> select ? — "H.TAKEI" <takei.hideaki@...> 2000/02/21

武井です。

[#20923] CUI library available in Ruby — Hideto ISHIBASHI <s34204@...>

石橋秀仁です。

15 messages 2000/02/22

[#20944] Hash#update について — Fuyuhiko Maruyama (丸山冬彦) <fuyuhik8@...>

丸山@東工大と申します。

32 messages 2000/02/22
[#20948] Re: Hash#update について — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/02/22

[#20960] Re: Hash#update について — rubikitch <rubikitch@...> 2000/02/23

From: 中村暁史 Nakamura Akifumi <BXQ04723@nifty.ne.jp>

[#20976] Re: Hash#update について — Fuyuhiko Maruyama (丸山冬彦) <fuyuhik8@...> 2000/02/23

丸山です。

[#20977] Re: Hash#update について — matz@... (Yukihiro Matsumoto) 2000/02/23

まつもと ゆきひろです

[#20984] Re: Hash#update について — Fuyuhiko Maruyama (丸山冬彦) <fuyuhik8@...> 2000/02/23

丸山です。

[#20985] Re: Hash#update について — matz@... (Yukihiro Matsumoto) 2000/02/23

まつもと ゆきひろです

[#20959] Ruby/GTK tの動かし方 — 中村暁史 Nakamura Akifumi <BXQ04723@...>

18 messages 2000/02/23
[#21011] Re: Ruby/GTK tの動かし方 — Yasushi Abe <yasushi@...> 2000/02/24

こんにちわ、阿部です。

[#20965] cgi.rb BUG? — rubikitch <rubikitch@...>

るびきちです。

33 messages 2000/02/23
[#20978] Re: cgi.rb BUG? — nobu.nakada@... 2000/02/23

なかだです。

[#21023] Re: cgi.rb BUG? — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp> 2000/02/24

nobu.nakada@nifty.ne.jp wrote:

[#21025] Re: cgi.rb BUG? — nobu.nakada@... 2000/02/24

なかだです。

[#21052] tempfile.rb BUG — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp> 2000/02/26

nobu.nakada@nifty.ne.jp wrote:

[#20992] GPIB driver その後 — Makoto Tagusari <mtag@...2.so-net.ne.jp>

皆さん今晩は、田鎖です。

15 messages 2000/02/23
[#21012] Critical Block (Re: GPIB driver その後) — Hideto ISHIBASHI <s34204@...> 2000/02/24

石橋秀仁です。

[#21028] CGI.rb のドキュメント探してます — Takumi Nakamura <chapuni@...>

 はじめまして。福岡在住の中村と申します。

16 messages 2000/02/25
[#21054] Re: CGI.rb のドキュメント探してます — 堀川 久 <vzw00011@...> 2000/02/26

 こんにちは。

[#21093] RD with URL — rubikitch <rubikitch@...>

るびきちです。

25 messages 2000/02/29
[#21095] Re: RD with URL — nobu.nakada@... 2000/02/29

なかだです。

[#21098] Re: RD with URL — rubikitch <rubikitch@...> 2000/02/29

From: nobu.nakada@nifty.ne.jp

[#21100] Re: RD with URL — nobu.nakada@... 2000/02/29

なかだです。

[#21101] Re: RD with URL — rubikitch <rubikitch@...> 2000/02/29

From: nobu.nakada@nifty.ne.jp

[#21103] Re: RD with URL — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/02/29

Toshです。

[#21105] Re: RD with URL — rubikitch <rubikitch@...> 2000/02/29

From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>

[#21108] Re: RD with URL — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/02/29

Toshです。

[#21110] rubyman ? (Re: RD with URL) — Koji Arai <JCA02266@...> 2000/02/29

新井です。

[#21111] Re: rubyman ? (Re: RD with URL) — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/02/29

Toshです。

[ruby-list:20587] Re: エスケープされていないものだけを置換

From: Ayanosuke <aya@...>
Date: 2000-02-08 04:27:11 UTC
List: ruby-list #20587
 館林です。

 Shin-ichiro Hara <sinara@blade.nagaokaut.ac.jp> さんが
                2000/02/08 午後 12:31:29に書いた
 「[ruby-list:20580] Re: エスケープされていないものだけを置換」 のお返事です:

> 原です。
> 
> |ごとけんです
> 
> |適用範囲によりますが、これだと先頭の _ は置換できないので、
> |次のようにした方が安全かも知れません。
> |
> |a.gsub(/(^|[^\\])_/, '\1 ')
> 
> これが正解と思いますが、もしかして \ で \ をエスケープ可能に
> してたりしません? a = "\\\\_" の場合とか。だとすると実直に
> 
>   a.gsub(/\\?[\\_]/) { case $& when "_" then " " else $& end }
> 
> とかしたほうがいいかもしれません。

 ありがとうございます。\\\\は考えていませんでした。たしかに
ありえます。
 使わせていただいたところ、"_abc\\\\_d\\_e"もちゃんと、
" abc\\\\ d\\_e"と置換されました。

 すごいです。質問してから、24時間たらずでいくつもの新しい発見
がありました。

 僕の質問に答えていただいた皆さん、ありがとうございます。
 以下、FAQっぽい物をつけてみます。
 教えていただいた内容を適宜編集させていただいています。

Q.エスケープされていない文字だけを置換したいのです。
具体的には、_を空白に置換したいのですが、\_は置換したくないのです。
どうしたら良いのでしょうか?

A.

a = "_ab_c\\_d"
a.gsub(/[^\\][_]/," ")
だと、
"_a c\\_d"
とbまで消えてしまいますし、行頭の_も置換されません。
 gsubは、以降のブロックで、$1という後方参照が利用できます。

a.gsub(/([^\\])[_]/){$1+" "}

"_ab c\\_d"

これを実行すれば、bは消えなくなりました。
でも、これよりも、

gsub(/([^\\])_/, '\1 ')

こっちのほうが、すっきりしているでしょう。
但し、行頭の '_' はまだ置換されません。

a.gsub(/(^|[^\\])_/, '\1 ')

" ab c\\_d"

と、これで、無事、行頭の'_'も置換できました。

 しかし、 \ で \ をエスケープ可能にしてある場合は、
  a = "\\\\_" # この場合、\\は_にかからない。
  a.gsub(/\\?[\\_]/) { case $& when "_" then " " else $& end }
  p a
"\\\\ "
とかしたほうがいいかもしれません。

ちなみに、Perlだと、
$a = "_abc_d\\_e_";
$a =~ s/(^|[^\\])_/\1 /g;
$a =~ s/(?<!\\)_/\1 /g;      #5.005以降
$a =~ s/(\G|[^\\])_/\1 /g;   #5.005以降
なんて書けます。

■参考URL
Mastering Regular Expressions 
http://public.yahoo.com/~jfriedl/regex/
詳説正規表現 
http://www.oreilly.co.jp/BOOK/regex.htm
 「詳説正規表現」読書メモ (by なひ)
 http://www.jin.gr.jp/~nahi/src/mre.html
正規表現メーリングリスト
http://www.bug.org/ML/regexp/
正規表現メモ
http://www.kt.rim.or.jp/%7ekbk/regex/regex.html


========================================================
   綾乃介@IBARAKI Univ.
      E-mail: aya@big.or.jp
      URL:http://www5.big.or.jp/~aya/
========================================================
茨城県日立市の総合情報サイト
    メディアネットワーク マンボウ WebSite
                http://manbow.cgi-space.to/
========================================================

In This Thread