helen's blog

ずっとおもしろいことしてたいな。

はじめての正規表現

正規表現とかまじで苦手

^(ハット)

行頭を表す
^123 で123で始まるものがひっかかる

$(ドル)

行末を表す
xyz$ でxyzで終わるのもがひっかかる

.(ピリオド)

任意の一文字(改行コードを除く)

[ ](大括弧)

クラス、文字セットと呼ばれる
[012] で0か1か2のどれか一文字で引っかかる
[0-9] :0〜9の数字
[A-Z]:大文字半角アルファベット
[A-Za-Z]:大文字か小文字のアルファベット

[^~~~]

クラスの否定
[^0-9] で半角数字以外ならなんでも

| (パイプ)

「または」
abc|012 でabcか012のどちらかが引っかかる
^abc|012 で行頭abcか012のどちらかが引っかかる

*(アスタリスク

直前の1文字の0回以上の繰り返し
abc* でab, abc, abcc, abccccなどがひっかかる

+(プラス)

直前の1文字の1回以上の繰り返し
abc+ でabc, abcc, abccccなどがひっかかる
abはひっかからない

?(はてな

直前の文字の0回または1回のみ
abc? はab, abcのみがひっかかる

()(括弧)

グループ
(abc)+ でabc, abcabc, abcabcabcなどが引っかかる

\ (バックスラッシュ)

打ち消し

参考:正規表現の基礎

うーん
正規表現と仲良くなる日は遠そうだ