目次

正規表現

Tips

キャプチャなしでグルーピングしたい

  • (?:pat) で可能。

ORの優先度

  • ORの"|"優先度はとても低い。これは例えば以下のパターンの場合、'abc'または'xyz'という文字列がパターンマッチするということ。
    /abc|xyz/
  • 正規表現のORの範囲を途中までに制限したい場合、括弧で区切るイメージ。
    /a(bc|xy)z/

正規表現リテラル

表記

スラッシュで囲むと正規表現として扱われる。%表記を使えば正規表現中にスラッシュを含む場合に便利。

/^foobar/ # 普通のやつ
/^foobar/i # 普通のやつ+iオプション
%r|Ruby|  # %r表記。両端を好きな文字にできる。

オプション

正規表現リテラルに追加できるオプション

i大文字小文字を区別しない。
o一番最初に正規表現の評価が行われた時に 一度だけ式展開を行う。
x正規表現中の空白を無視する。
m複数行モード。正規表現 "." が改行にもマッチするようになる。
n文字列をバイト列として扱う。
e文字列をEUCとして扱う。
s文字列をSJISとして扱う。
u文字列をUTF8として扱う。

"i", "m"あたりをよく使うか。文字コードの指定は全体の指定を$KCODEで行っておき、たまに違うやつを扱う必要があるとき個別の正規表現に指定する。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-07-04 (水) 13:49:21