正規表現。
str = "aaabbb" /(^a)(.*)/ =~ str
と、正規表現のパターンを/で囲み、対象の文字列を=~の右辺に置く。マッチすると0、しないとnilを返す。
なので、
str = "aaabbb" if /(^a)(.*)/=~ str puts $1 end
と、if文に使うことが出来る。
$1とあるのは、グループ化したパターンの1番目を参照しているので、ここではaが出力される。
オプションとしては、
オプション | 機能 |
---|---|
i | 大文字、小文字を区別しない |
e | EUC文字列と仮定して照合する |
s | Shift-JIS文字列と仮定して照合する |
m | 複数行モード |
x | 空白、改行を無視する |
o | 一番最初の正規表現の評価が行われた際、一度だけ式展開を行う |
が、ある。oはよくわからん。オプションはパターンの後ろに記述する。
/(^a)(.*)/ie
同時に複数指定することも可能。
//で囲むだけではなく、
str = "aaabbb" regexp = Regexp.new(/(^a)(.*)/) if regexp =~ str puts $1 end str = "aaabbb" if %r,(^a)(.*), =~ str puts $1 end
と、Regexpクラスを使ったり、%rを使用することが可能。%rについて、ここでは区切りとして,(カンマ)を使用しているが、指定するパターン以外の記号なら,以外も使用が可能。
- 作者: 広瀬雄二
- 出版社/メーカー: 技術評論社
- 発売日: 2006/01/13
- メディア: 単行本(ソフトカバー)
- クリック: 9回
- この商品を含むブログ (41件) を見る