~Lightning Talk~
正規表現
楽しいアプリ制作の会 #2
TWorks
正規表現って何??

文字列の中から指定の文字パターンを検索(マッチ)
できる

ただの検索とは違って、たとえば・・・
・メールアドレスに合致するものを見つける
・日付に合致するものを見つける
⇒文字列検索ではなく、文字パターンを検索(マッチ)
する

「文字パターン」はいろいろな指定ができる
・文字種、繰り返し回数の指定
・先頭が○○で始まっていて、終わりが△△など
文字パターン
文字パターンの一部を紹介します。
 abcなどの通常の文字
⇒そのもの自体をマッチの条件にします
 [ ] グループマッチ
⇒[ ]内に書かれた文字にマッチします(改行は除く)




[^ ] グループアンマッチ
⇒[ ]内に書かれた文字以外にマッチします
. (ピリオド)
⇒任意の一文字にマッチします
^ (カレット)
⇒行の先頭にマッチします
$
⇒行の終わりにマッチします
簡単な例





空の行(改行のみの行)を探すとき
⇒^$
行の先頭がhttpにマッチ
⇒^http.*$
数字にマッチ
⇒ [0-9]
数字だけの行にマッチ
⇒^[0-9].*$
数字を使っていない行にマッチ
⇒^[^0-9].*$
こんなこともできちゃう

日付(yyyymmdd)
^(?!([02468][1235679]|[13579][01345789])000229)
(([0-9]{4}(01|03|05|07|08|10|12)
(0[1-9]|[12][0-9]|3[01]))|([0-9]{4}(04|06|09|11)
(0[1-9]|[12][0-9]|30))|
([0-9]{4}02(0[1-9]|1[0-9]|2[0-8]))|
([0-9]{2}(([02468])[048]|[13579][26])0229))$
ダウンロード

LTセッション 正規表現 - 楽しいアプリ制作の会 [たのアプ]