第2章
正規表現の基本
基本的な考え方と用語
第3章
基本的なメタキャラクタ
その1* 任意の1文字にマッチするメタキャラクタ 24
その2* 英単語を構成する1文字にマッチするメタキャラクタ 29
その3* 空白文字にマッチするメタキャラクタ 33
その4* 数字にマッチするメタキャラクタ 36
その5* O回以上の繰り返しにマッチする表現 40
その6* 1回以上の繰り返しにマッチする表現 44
その7* n回の繰り返しにマッチする表現 46
その8* n回以上の繰り返しにマッチする表現 51
その9* n回以上m回以下の繰り返しにマッチする表現 54
その10* O回または1回の出現にマッチする 58
その11* 文字列の先頭にマッチするメタキャラクタ 62
その12* 文字列の末尾にマッチするメタキャラクタ 65
その13* 単語の境界にマッチするメタキャラクタ 68
その14* 指定された文字のどれかにマッチる 72
その15* マッチする文字の範囲を指定する 76
その16* 指定されたパターンのどれかにマッチする表現 80
第4章
部品を組み合わせて使う
その1* 複数のメタキャラクタを使う 86
その2* 任意の長さの文字列を 89
その3* 指定の長さの文字列を 93
その4* 文字列の繰り返しを表現する 97
その5* 選択を利用する 101
その6* 文字の範囲指定と繰り返しを組み合わせる 105
その7* 選択と繰り返しを組み合わせる 109
その8* 大文字と小文字を区別しない 113
その9* 文章中の英単語にマッチさせる 116
第5章
正規表現の便利な機能
その1* 最長マッチ/最短マッチの問題 122
その2* キャプチヤを使う 126
その3* 2回以上のキャプチヤを使う 131
その4* キャプチャしないグループ化 136
その5* 先読みを使う 140
その6* 否定先読みを使う 145
その7* 後読みを使う 148
その8* 否定後読みを使う 152
その9* 先後読みによる条件分岐を使う 155
その10* キャプチヤによる条件分岐を使う 159
第6章
より実践的な正規表現
応用問題1* 整数にマッチする正規表現 165
応用問題2* 指定された範囲の整数にマッチする正規表現 170
応用問題3* 小数にマッチする正規表現 174
応用問題4* 偶数にマッチする正規表現 178
応用問題5* カンマ付きの数字にマッチする正規表現 181
応用問題6* 郵便番号にマッチする正規表現 185
応用問題7* 携帯電話の番号にマッチする正規表現 188
応用問題8* クレジットカード番号にマッチする正規表現 192
芯用問題9* 時刻にマッチする正規表現 195
応用問題10* 日付にマッチする正規表現 199
応用問題11* 1行のテキストにマッチする正規表現 203
応用問題12* ¥によるエスケープを考える 206
応用問題13* 括弧に囲まれた中身にマッチする正規表現 208
応用問題14 「キー=値」形式の文字列にマッチする正規表現 210
応用問題15* 2回連続で出現する英単語にマッチする正規表現 212
応用問題16* カンマ区切り形式の行にマッチする正規表現 215
応用問題17* CSVの各フィールドにマッチする正規表現 218
応用問題18* HTMLのタグにマッチする正規表現 223
応用問題19* ファイルパスにマッチする正規表現 226
応用問題20* ディレクトリパスにマッチする正規表現 231
応用問題21* ファイル名にマッチする正規表現 235
応用問題22* バージョン番号付きのファイル名にマッチする正規表現 239
応用問題23* URLのファイル名にマッチする正規表現 242
応用問題24* URLのホスト名にマッチする正規表現 245
応用問題25* IPv4のアドレスにマッチする正規表現 251
応用問題26* Pv6のアドレスにマッチする正規表現 251
応用問題27* http形式のURLにマッチする正規表現 254
応用問題28* メールアドレスにマッチする正規表現 256
Appendix
プログラムから正規表現を使う
(Perl,Java,PHP,Ruby,Python,JavaScriptでの正規表現)
索引 274