Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

正規表現構文

Ruby正規表現処理は、Perlに非常に似ているが、その使い方が異なる。
通常の正規表現は、1対のスラッシュ「/」で区切られる。
また「%r」形式を利用することも可能。

簡単な正規表現の例

/Ruby/		   #「Ruby」という単語にマッチする
/[Rr]uby/          # 「Ruby」または「ruby」という単語にマッチする
/^abc/             # 先頭の「abc」にマッチする
%r(xyz$)           # 行末の「xyz」にマッチする
%r|[0-9]*|         # 数字の0回以上の繰り返しにマッチする

正規表現の直後に置く装飾子

正規表現の直後に1文字の装飾子を置く事も出来ます。

● i 大文字と小文字を区別しない
● o 式の展開を一度だけ行う
● m 複数行モード(「.」ドットが改行にマッチ)
● x 拡張正規表現(空白とコメントを利用できる)

よく利用される正規表現記号

● ^  行または文字列の先頭
● $  行または文字列の末尾
● .  改行以外の任意の1文字
● \w 英数字(数字、英文字、または下線)
● \W 非英数字
● \s 空白文字(スペース、TAB、改行)
● \S 非空白文字
● \d 数字([0-9]の書き方と同じ意味)
● \D 非数字
● \A 文字列の先頭
● \Z 文字列の末尾または改行の直前
● \z 文字列の末尾
● \b 語境界文字(の外側のみ)
● \B 非語境界文字
● \b バックスペース(
の内側のみ)
● [] 任意の1文字の組み合わせ
● *  直前の表現の0回以上の繰り返し
● *? 直前の表現の0回以上の繰り返し(最短一致)
● +  直前の表現の1回以上の繰り返し
● +? 直前の表現の1回以上の繰り返し(最短一致)
● {m,n} 直前の表現のm回からn回の繰り返し
● {m,n}? 直前お表現のm回からn回の繰り返し(最短一致)
● ? 直前の表現の0回または1回の繰り返し
● | 選択
● () 表現のグループ化
●(?# ) コメント

正規表現の知識は、現代のプログラマに取って強力なツールである。
使いこなせるように、常に正規表現での文字列検索に親しんでいた方が良い。

contentsへ