結城本の勉強(その6)
- 第8章 もっと正規表現
”置換s///”の前までで一旦終了。
AM 6:20再開。
-
- s///では一番最初にマッチした部分のみ置換される。修飾子/gを使うとすべて置換される。
- 大文字小文字の違いを無視して置換するには修飾子/iを使う
- \wは[A-Za-z_0-9]という文字クラスと同じ1文字を表すメタ文字(もう忘れていた...)
- s/*1/$2<$3>/g;という置換(s/(\d+)([A-Za-z]+)/$1<$2>/g;でも同じことだ)
- 式を評価する修飾子/e
- 単語の境界にマッチするメタ文字\b(むー、単語境界の意味が問題だ)
- \Wは\w以外の文字(?記号)を表す
- 修飾子/sは文字列を1行として扱う(改行を\nのままで扱うということか)
- 修飾子/mは文字列を複数行として扱う(改行してしまう)
- tr/置換元の文字リスト/置換先の文字リスト/(なかなか賢い)
- 実例2:メールアドレス。修飾子/gをつけて演算子=~をリストコンテキストで使用する(リストコンテキスト?)
- 重複要素の削除(p.242)。(これは便利。常套手段か)
- 時刻文字列とマッチする正規表現(メタ文字?の意味忘れた...直前の文字が0か1個)
第8章終り。
PM 7:00再開。
- 第9章 コンテキスト
*1:\d+)([A-Za-z]+