[#41251] mswin32(もしくはActiveScriptRuby)でRuby/Tkを使うには? — "conundrum /" <conundrum@...>

conundrumです。

12 messages 2005/10/11

[#41284] 条件に合う見出しの内容だけを抽出 — isawa_kz <isawa_kz@...>

井沢と申します。

32 messages 2005/10/14
[#41299] Re: 条件に合う見出しの内容だけを抽出 — Kousuke Honda <kousuke4@...> 2005/10/14

本田です。はじめましてです。

[#41300] Re: 条件に合う見出しの内容だけを抽出 — isawa_kz <isawa_kz@...> 2005/10/14

井沢です

[#41301] Re: 条件に合う見出しの内容だけを抽出 — しん <dezawa@...> 2005/10/14

出沢です

[#41340] Date へのメソッド追加要望 — MATSUNO Tokuhiro <tokuhirom@...>

tokuhirom@Inamode6:897 です。

19 messages 2005/10/22

[#41371] 北九州市の rubyist へ — Akimichi Tatsukawa <akimichi_tatsukawa@...>

こんにちは。立川察理と申します。

13 messages 2005/10/25

[#41400] 全角スペースを区切りとした文字列分解で — 中村 英夫 <cxn03651@...>

中村と申します。

10 messages 2005/10/27

[#41416] Rubyでこういうの作れますか?(中央銀行編) — Omoti <omoti@...24.net>

Rubyで中央銀行システムを作りたいんですが、できますか?

14 messages 2005/10/29
[#41418] Re: Ruby でこういうの作れますか?(中央銀行編) — Sako Hiroshi <sakoh@...2.so-net.ne.jp> 2005/10/29

[#41420] Re: Ruby でこういうの作れますか?(中央銀行編) — Omoti <omoti@...24.net> 2005/10/29

そんな大規模じゃないですよ!

[#41425] "Programming Ruby 2nd edtion"の邦訳について — "higashi ryota" <ryochin_hgs@...>

始めまして。既出だったらすいません、過去ログで検索したのですが見つけられませ

10 messages 2005/10/30
[#41428] Re: "Programming Ruby 2nd edtion"の邦訳について — Yukihiro Matsumoto <matz@...> 2005/10/30

まつもと ゆきひろです

[ruby-list:41277] Re: #grepのパターンに変数を使う方法

From: Masaaki Sakano <mas@...>
Date: 2005-10-12 20:35:19 UTC
List: ruby-list #41277
大島様、みなさま

坂野 正明と申します。

At Wed, 12 Oct 2005 23:33:08 +0900,
osamu ohshima <ohshima@po.harenet.ne.jp> wrote:
> 岩月さんの
> > pat = "usb 2-1.3"
> > str.grep(/#{pat}/) 
> がまさに求めていた方法でした。これで解決しました。

この場合だと、たとえば、"usb 2-1@3" などにもマッチしてしまい
ますが、これは意図されていない挙動かも、と推測します……。
公式としては、 Regexp.quote を当てはめるところだと思います。
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Regexp#Regexp.2eescape

pat1 = "usb 2-1.3"
"usb 2-1@3:".grep(/#{pat1}/)
=> ["usb 2-1@3:"]
"usb 2-1@3:".grep(/#{Regexp.quote(pat1)}/)
=> []
"usb 2-1.3:".grep(/#{Regexp.quote(pat1)}/)
=> ["usb 2-1.3:"]

あるいは、

pat2 = Regexp.quote("usb 2-1.3")
"usb 2-1@3:".grep(/#{pat2}/)
=> []
"usb 2-1.3:".grep(/#{pat2}/)
=> ["usb 2-1.3:"]

ただ、上のように、文字列をほぼそのまま正規表現にしてしまうだけなら、
最初から外部で正規表現を定義した方がすっきりするかも知れませんね。

patrex = /usb 2-1\.3/
"usb 2-1@3:".grep(patrex)
=> []
"usb 2-1.3:".grep(patrex)
=> ["usb 2-1.3:"]


以上、ご参考までに。

坂野 正明


In This Thread

Prev Next