人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ruby の正規表現の書き方がわからないので教えてください。
下記のperlのように、マッチした変数 $1 を、どうやって使うのでしょうか?
s = '_a_あい_うえお__かきくけこ_b_さしすせそ__';
puts s.sub(/_._([\s\S]*?)__/,"start$1end");
のように書いてもうまくいきません。

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/pe_k08.htm
#// 教えてもらった凝ったやつ2 (最短マッチを使う手 Perl5 以降)
$s = '_a_あい_うえお__かきくけこ_b_さしすせそ__';
$s =~ s/_._([\s\S]*?)__/start$1end/g;

startあい_うえおendかきくけこstartさしすせそend

●質問者: kaiketsu
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:Perl Ruby sub あい さしすせそ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● たまたん
●60ポイント ベストアンサー

subではなく、gsubを使います。

s = '_a_あい_うえお__かきくけこ_b_さしすせそ__';
puts s.gsub(/_._([\s\S]*?)__/){"start" + $1 + "end"};

出力:

startあい_うえおendかきくけこstartさしすせそend


URL必須にされていますが、参考にしたものがないので、

とりあえずマニュアルを書いておきます。


gsubの参考URL:

http://www.ruby-lang.org/ja/man/html/String.html

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ