大量のドキュメントからの検索や、エディタによるテキストの編集、検索やテキスト操作を必要とするソフトウェアの開発など――本書はコンピュータでテキストを日常的に操作する人のために、正規表現について知るべきあらゆることを網羅しています。最初の3つの章には、役立つツールと基本的な知識をまとめてあり、正規表現を使うための基礎的な技能を身に付けられます。その後の各章では、テキスト処理の領域を深く掘り下げながら、さまざまな正規表現のアイデアと実例を合わせて示しています。また、Perl、Ruby、Python、JavaScript、Java、PHP、C#、VB.NETという8種類の言語を取り上げて、それぞれに対応した正規表現を紹介しているのも本書の特徴です。即実践に使いたい人にも、正規表現への理解を深めたい人にもおすすめできる正規表現レシピ集の決定版です。
正規表現クックブック
Jan Goyvaerts, Steven Levithan 著、長尾 高弘 訳
- TOPICS
- クックブック , Programming , Perl , PHP
- 発行年月日
- 2010年04月
- PRINT LENGTH
- 552
- ISBN
- 978-4-87311-450-7
- 原書
- Regular Expressions Cookbook
- FORMAT
目次
序文 1章 正規表現入門 1.1 正規表現の定義 1.2 正規表現を使った置換 1.3 正規表現を操作するためのツール 2章 正規表現の基本スキル レシピ2.1 リテラルテキストへのマッチ レシピ2.2 印字不能文字へのマッチ レシピ2.3 多くの文字のどれかに対するマッチ レシピ2.4 任意の文字へのマッチ レシピ2.5 行頭または行末の何かにマッチ レシピ2.6 単語全体へのマッチ レシピ2.7 Unicodeコードポイント、プロパティ、ブロック、スクリプト レシピ2.8 日本語テキストへのマッチ レシピ2.9 複数の選択肢のどれかに対するマッチ レシピ2.10 マッチの一部のグループ化とキャプチャ レシピ2.11 以前にマッチしたテキストへの再マッチ レシピ2.12 キャプチャと部分マッチへの命名 レシピ2.13 正規表現の一部の繰り返し レシピ2.14 最小量指定子と最大量指定子 レシピ2.15 不要なバックトラックの削減 レシピ2.16 繰り返しの暴走の防止 レシピ2.17 最終的なマッチに加わらない部分のテスト レシピ2.18 条件に基づき2つの選択肢の片方にマッチする方法 レシピ2.19 正規表現へのコメントの追加 レシピ2.20 置換テキストへのリテラルテキストの挿入 レシピ2.21 置換テキストへの正規表現マッチの挿入 レシピ2.22 置換テキストへの正規表現部分マッチの挿入 レシピ2.23 置換テキストへのマッチコンテキストの挿入 3章 プログラムの中の正規表現 3.1 プログラミング言語と正規表現の方言 レシピ3.1 ソースコード内でのリテラル正規表現 レシピ3.2 正規表現ライブラリのインポート レシピ3.3 正規表現オブジェクトの作成 レシピ3.4 正規表現オプションの設定 レシピ3.5 日本語正規表現を使うための準備 レシピ3.6 対象テキスト内にマッチが見つかるかどうかのテスト レシピ3.7 対象テキスト全体にマッチするかどうかのテスト レシピ3.8 マッチしたテキストの取得 レシピ3.9 マッチの位置と長さの取得 レシピ3.10 マッチしたテキストの一部の取得 レシピ3.11 全マッチのリストの取得 レシピ3.12 すべてのマッチの反復処理 レシピ3.13 手続き型コードでのマッチのチェック レシピ3.14 他のマッチの中に含まれているマッチの検索 レシピ3.15 すべてのマッチの置換 レシピ3.16 マッチした部分を再利用する置換 レシピ3.17 コードが生成した置換テキストによるマッチの置換 レシピ3.18 他のマッチの中に含まれているすべてのマッチの置換 レシピ3.19 他のマッチのすき間に含まれているすべてのマッチの置換 レシピ3.20 文字列の分割 レシピ3.21 正規表現マッチも残す文字列の分割 レシピ3.22 行単位の検索 4章 データチェックと整形 レシピ4.1 電子メールアドレスのチェック レシピ4.2 北米の電話番号のチェックと整形 レシピ4.3 国際電話番号のチェック レシピ4.4 伝統的な日付形式のチェック レシピ4.5 伝統的な日付形式の正確なチェック レシピ4.6 伝統的な時刻形式のチェック レシピ4.7 ISO 8601の日付、時刻形式のチェック レシピ4.8 英数字だけに入力を制限する レシピ4.9 テキストの長さを制限する レシピ4.10 テキストの行数を制限する レシピ4.11 確認のキー入力のチェック レシピ4.12 アメリカの社会保障番号のチェック レシピ4.13 ISBNのチェック レシピ4.14 ZIPコード(アメリカの郵便番号)のチェック レシピ4.15 カナダの郵便番号のチェック レシピ4.16 イギリスの郵便番号のチェック レシピ4.17 私書箱付き住所の検索 レシピ4.18 「ファーストネーム ラストネーム」から「ラストネーム, ファーストネーム」への変形 レシピ4.19 クレジットカード番号のチェック レシピ4.20 ヨーロッパの付加価値税番号 5章 単語、行、特殊文字 レシピ5.1 特定の単語の検索 レシピ5.2 複数の単語のどれかの検索 レシピ5.3 類似する複数の単語のどれかの検索 レシピ5.4 特定の単語を除くすべての単語の検索 レシピ5.5 特定の単語が次に続いていない単語の検索 レシピ5.6 特定の単語が前に置かれていない単語の検索 レシピ5.7 互いに近接した単語の検索 レシピ5.8 単語の繰り返しの検索 レシピ5.9 重複行の削除 レシピ5.10 特定の単語を含む行全体へのマッチ レシピ5.11 特定の単語を含まない行全体へのマッチ レシピ5.12 先頭と末尾の空白の削除 レシピ5.13 空白の連続を1つのスペースに置き換える レシピ5.14 正規表現メタ文字のエスケープ 6章 数値 レシピ6.1 整数 レシピ6.2 16進数 レシピ6.3 2進数 レシピ6.4 前ゼロの除去 レシピ6.5 特定の範囲内の数値 レシピ6.6 特定の範囲内の16進数 レシピ6.7 浮動小数点数 レシピ6.8 3桁ごとのセパレータが入っている数値 レシピ6.9 ローマ数字 7章 URL、パス、インターネットアドレス レシピ7.1 URLの有効性チェック レシピ7.2 大きなテキストに含まれるURLの検索 レシピ7.3 大きなテキストに含まれるクォートで囲まれたURLの検索 レシピ7.4 大きなテキストに含まれるかっこで囲まれたURLの検索 レシピ7.5 URLのリンクへの変換 レシピ7.6 URNの有効性チェック レシピ7.7 ジェネリックなURLの有効性チェック レシピ7.8 URLからのスキームの抽出 レシピ7.9 URLからのユーザーの抽出 レシピ7.10 URLからのホストの抽出 レシピ7.11 URLからのポートの抽出 レシピ7.12 URLからのパスの抽出 レシピ7.13 URLからのクエリーの抽出 レシピ7.14 URLからのフラグメントの抽出 レシピ7.15 ドメイン名の有効性チェック レシピ7.16 IPv4アドレスへのマッチ レシピ7.17 IPv6アドレスへのマッチ レシピ7.18 Windowsパスのチェック レシピ7.19 Windowsパスの分解/キャプチャ レシピ7.20 Windowsパスからのドライブ文字の抽出 レシピ7.21 UNCパスからのサーバーとシェア名の抽出 レシピ7.22 Windowsパスからのフォルダの抽出 レシピ7.23 Windowsパスからのファイル名の抽出 レシピ7.24 Windowsパスからの拡張子の抽出 レシピ7.25 ファイル名からの無効文字の除去 8章 マークアップとデータのやり取り レシピ8.1 XMLスタイルのタグの検索 レシピ8.2 <b>タグから<strong>タグへの置換 レシピ8.3 <em>、<strong>以外のすべてのXMLスタイルタグの削除 レシピ8.4 XML名へのマッチ レシピ8.5 <p>、<br>タグの追加によるプレーンテキストからHTMLへの変換 レシピ8.6 XMLスタイルタグに含まれる特定のタグの検索 レシピ8.7 cellspacing属性を持たない<table>タグへのcellspacing属性の追加 レシピ8.8 XMLスタイルのコメントの削除 レシピ8.9 XMLスタイルコメントからの単語の検索 レシピ8.10 CSVファイルで使われる区切り子の変更 レシピ8.11 特定のカラムからのCSVフィールドの抽出 レシピ8.12 INIファイルのセクションヘッダーへのマッチ レシピ8.13 INIファイルのセクションブロックへのマッチ レシピ8.14 INIファイルの名前と値の対へのマッチ 索引