Ruby/正規表現
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*目次 [#s1d6a692]
#contents
*正規表現 [#uec51574]
*Tips [#e8cda83a]
**キャプチャなしでグルーピングしたい [#z771f934]
-(?:pat) で可能。
**ORの優先度 [#ze549729]
-ORの"|"優先度はとても低い。これは例えば以下のパターンの...
/abc|xyz/
-正規表現のORの範囲を途中までに制限したい場合、括弧で区切...
/a(bc|xy)z/
**文字列の埋め込み [#u6644c24]
-正規表現に変数埋め込む場合
abc = 'this is pattern'
/#{abc}/
-変数でも正規表現の特殊文字が含まれている場合、エスケープ...
-手作業でエスケープしても良いし、Regexp.escapeを使っても...
#pre{{
pat = Regexp.escape('htts://example.com?s=abc')
/#{pat}/
}}
*正規表現リテラル[#q6820134]
**表記 [#ca5986ea]
スラッシュで囲むと正規表現として扱われる。%表記を使えば正...
/^foobar/ # 普通のやつ
/^foobar/i # 普通のやつ+iオプション
%r|Ruby| # %r表記。両端を好きな文字にできる。
**オプション [#f1aa43e9]
正規表現リテラルに追加できるオプション
,i,大文字小文字を区別しない。
,o,一番最初に正規表現の評価が行われた時に 一度だけ式展開...
,x,正規表現中の空白を無視する。
,m,複数行モード。正規表現 "." が改行にもマッチするように...
,n,文字列をバイト列として扱う。
,e,文字列をEUCとして扱う。
,s,文字列をSJISとして扱う。
,u,文字列をUTF8として扱う。
"i", "m"あたりをよく使うか。文字コードの指定は全体の指定...
終了行:
*目次 [#s1d6a692]
#contents
*正規表現 [#uec51574]
*Tips [#e8cda83a]
**キャプチャなしでグルーピングしたい [#z771f934]
-(?:pat) で可能。
**ORの優先度 [#ze549729]
-ORの"|"優先度はとても低い。これは例えば以下のパターンの...
/abc|xyz/
-正規表現のORの範囲を途中までに制限したい場合、括弧で区切...
/a(bc|xy)z/
**文字列の埋め込み [#u6644c24]
-正規表現に変数埋め込む場合
abc = 'this is pattern'
/#{abc}/
-変数でも正規表現の特殊文字が含まれている場合、エスケープ...
-手作業でエスケープしても良いし、Regexp.escapeを使っても...
#pre{{
pat = Regexp.escape('htts://example.com?s=abc')
/#{pat}/
}}
*正規表現リテラル[#q6820134]
**表記 [#ca5986ea]
スラッシュで囲むと正規表現として扱われる。%表記を使えば正...
/^foobar/ # 普通のやつ
/^foobar/i # 普通のやつ+iオプション
%r|Ruby| # %r表記。両端を好きな文字にできる。
**オプション [#f1aa43e9]
正規表現リテラルに追加できるオプション
,i,大文字小文字を区別しない。
,o,一番最初に正規表現の評価が行われた時に 一度だけ式展開...
,x,正規表現中の空白を無視する。
,m,複数行モード。正規表現 "." が改行にもマッチするように...
,n,文字列をバイト列として扱う。
,e,文字列をEUCとして扱う。
,s,文字列をSJISとして扱う。
,u,文字列をUTF8として扱う。
"i", "m"あたりをよく使うか。文字コードの指定は全体の指定...
ページ名: