#author("2022-02-04T12:13:35+00:00","default:hotate","hotate") #author("2023-09-17T12:00:46+00:00","default:hotate","hotate") #contents &tag(Ruby, 正規表現); &tag(Ruby,正規表現); * 情報 [#e69cab18] - [[Ruby 正規表現の使い方 - Qiita>http://qiita.com/shizuma/items/4279104026964f1efca6]] 具体的には、Stringクラスのメソッドsub、gsub、matchメソッドが登場し、その中で正規表現を使っていきます。 - [[Ruby入門5、正規表現まとめ~これからにRubyに乗り換えする人へ~ - むかぁ~ どっと こむ>http://mukaer.com/archives/2011/05/11/rubyruby_3/]] - [[「=~」メソッドによるマッチング - 正規表現の基本 - Ruby正規表現の使い方>http://www.rubylife.jp/regexp/ini/index4.html]] 正規表現オブジェクト =~ string - [[逆引きRuby - 正規表現(パターンマッチ)>http://www.namaraii.com/rubytips/?%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%EF%BC%88%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%83%9E%E3%83%83%E3%83%81%EF%BC%89]] if /^abc/ =~ str puts "match" end - [[subやgsubで括弧とマッチした部分の再利用、および式展開の方法 - 勉強日記>http://akisute3.hatenablog.com/entry/20111126/1322314400]] シングルクォート内で「\数字」を使うと、n番目の括弧を置換後の文字列に使用できる。 - [[【ruby】gsubで複数の文字パターンを置換する&後方参照する場合 - 記すに足らず。>http://shirusu-ni-tarazu.hatenablog.jp/entry/2013/09/24/030212]] 実は置換する対象をハッシュで渡せるとはつゆ知らず… - [[sedの代わりにRubyで複数行への正規表現マッチング - システム開発メモ>http://progmemo.wp.xdomain.jp/archives/1140]] この書き方は、File.readでserver.xmlファイルの全行を読み込んで、その文字列をgsubで正規表現による置換にかけている。 正規表現にmオプションをつけており、.が改行にもマッチするようになっている。.が改行にマッチするので、<!--.*?-->は コメントアウトタグに囲まれており、その囲いの中は改行を含む任意の文字の繰り返しの最短マッチとなる。ちなみに?の 部分が最短マッチを示している。 - [[正規表現 - ヴァル研究所 Ruby講義>http://ruby-lecture.s3-website-us-east-1.amazonaws.com/tips/regular-expression/]] =~演算子やmatchメソッドによるパターンマッチでは、文字列中で最初にマッチした部分のみが返されます。 - [[class MatchData (Ruby 3.1 リファレンスマニュアル)>https://docs.ruby-lang.org/ja/latest/class/MatchData.html#I_PRE_MATCH]] post_match マッチした部分より後ろの文字列を返します($'と同じ)。 pre_match マッチした部分より前の文字列を返します($`と同じ)。