正規表現辞典(佐藤竜一)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. 正規表現辞典

正規表現辞典


形式:
書籍
発売日:
ISBN:
9784798109121
価格:
本体2,980円+税
仕様:
四六変・392ページ
分類:
プログラミング・開発
  • このエントリーをはてなブックマークに追加

“~したい”でサッと引ける!
プログラミング、デバッグ、ウェブ作成、文書作成etc
正規表現をフル活用すれば作業効率がググっと上がる!!

プログラミングにおいて正規表現は、欠かせない強力なツールです。本書では、正規表現の役割、基本的な使い方を解説した「イントロダクション」、用途、対応言語、ツールがすぐにわかる「メタキャラクタリファレンス」、さらに目的引きが可能な「逆引きリファレンス」と、正規表現活用に必要な情報を完全網羅!!使いたいときにすぐに引ける、パソコンユーザ必須の1冊です!!


PART 01:INTRODUCTION

01-01 正規表現とは何か
01-02 正規表現の用途
01-03 正規表現をサポートする処理系
01-04 正規表現の歴史
01-05 正規表現の背景
01-06 正規表現と文字コード
01-07 正規表現用語リファレンス

PART 02:処理系リファレンス

02-01 grep/egrep
  02-01-01 文字列を検索する
02-02 sed
  02-02-01 処理対象行を指定する
  02-02-02 指定した文字列を置換する(sコマンド)
02-03 awk
  02-03-01 指定した文字列を置換する
  02-03-02 文字列に対するマッチを行う
  02-03-03 処理対象レコードを指定する
02-04 vim
  02-04-01 文字列を検索する
  02-04-02 文字列を置換する
02-05 Perl
  02-05-01 PerlでUTF-8文字列を利用する
  02-05-02 文字列に対するマッチを行う
  02-05-03 正規表現オペランド/オブジェクトを作成
  02-05-04 文字列を置換する
02-06 PHP
  02-06-01 PHPの正規表現関数
  02-06-02 文字列を検索する
  02-06-03 配列から文字列を検索する
  02-06-04 正規表現全体をエスケープする
  02-06-05 文字列を置換する
  02-06-06 正規表現で文字列を分割する
  02-06-07 マルチバイト文字列を検索する
  02-06-08 より高度なマルチバイト文字列の検索
  02-06-09 マルチバイト文字列を置換する
02-07 Java
  02-07-01 正規表現エンジンを生成する
  02-07-02 文字列に対するマッチを行う
  02-07-03 マッチした内容を取り出す
  02-07-04 文字列の置換を行う
02-08 JavaScript
  02-08-01 ECMAScriptの正規表現
  02-08-02 RegExpオブジェクトの生成
  02-08-03 文字列に対するマッチを行う
  02-08-04 文字列の置換を行う
02-09 秀丸エディタ
  02-09-01 文字列を検索する
  02-09-02 文字列を置換する

PART 03:メタキャラクタリファレンス

03-01 基本正規表現
  03-01-01 x 「その文字」自身にマッチ
  03-01-02 \ メタキャラクタの持つ特別な意味を失わせる
  03-01-03 . 任意の1文字にマッチ
  03-01-04 [xyz] 指定された文字の中のいずれかにマッチ
  03-01-05 (pattern)、\(pattern\) 部分正規表現とグルーピング
  03-01-06 * 直前の正規表現と0回以上一致
  03-01-07 {min,max}、{min,max\} 直前の正規表現と指定回数一致
  03-01-08 $ 文字列の末尾、または行終端子の直前にマッチ
  03-01-09 ^ 文字列の先頭、または行終端子の直前にマッチ
  03-01-10 \n キャプチャ済みの部分正規表現に対する後方参照
  03-01-11 [:..:] POSIX文字クラス表現
  03-01-12 [.||.] 指定した照合要素にマッチ
  03-01-13 [=e=] 指定した等価クラスに含まれる文字列にマッチ
03-02 拡張正規表現
  03-02-01 x|y、x\|y 正規表現xまたはyにマッチ
  03-02-02 +、\+ 直前の正規表現と1回以上一致
  03-02-03 ?、\?、\= 直前の正規表現と0回または1回一致
03-03 文字クラスエスケープ
  03-03-01 \d、\D 任意の数字にマッチ/数字以外の任意の1字にマッチ
  03-03-02 \s、\S 任意の空白文字にマッチ/空白文字以外の任意の文字にマッチ
  03-03-03 \w、\W 任意の単語構成文字にマッチ/単語構成文字以外の任意の文字にマッチ
03-04 制御文字とUnicode
  03-04-01 \n、\a、\b、\e、\f、\r、\t、\v、\z 各種の制御文字にマッチ
  03-04-02 \cx xで指定した制御文字にマッチ
  03-04-03 \nnn、\onnn nnnに指定した8進表現で示される文字にマッチ
  03-04-04 \xnn nに指定した16進表現で示される文字にマッチ
  03-04-05 \unnnn、\x{n} nに指定したコードポイントで表現される文字にマッチ
  03-04-06 \p{...}、\P{...} 指定されたUnicodeプロパティの文字にマッチ
  03-04-07 \N{...} 正式なUnicode文字名で表現される文字にマッチ
03-05 特殊な量指定子
  03-05-01 *?、\{-} 直前の正規表現と0回以上一致(最短一致)
  03-05-02 {min,max}?、\{-min,max} 直前の正規表現と指定回数一致(最短一致)
  03-05-03 +? 直前の正規表現と1回以上一致(最短一致)
  03-05-04 ?? 直前の正規表現と0回または1回一致(最短一致)
  03-05-05 *+ 直前の正規表現と0回以上一致(強欲)
  03-05-06 {min,max}+ 直前の正規表現と指定回数一致(強欲)
  03-05-07 ++ 直前の正規表現と1回以上一致(強欲)
  03-05-08 ?+ 直前の正規表現と0回または1回一致(強欲)
03-06 アンカー
  03-06-01 \b、\B 単語の境界にマッチ/単語の境界以外にマッチ
  03-06-02 \<、\> 単語の先頭にマッチ/単語の末尾にマッチ
  03-06-03 \A 文字列の先頭にマッチ
  03-06-04 \Z 文字列の末尾、あるいは文字列の末尾の行終端子の直前にマッチ
  03-06-05 \z 文字列の末尾にマッチ
  03-06-06 \G 前回のマッチの末尾にマッチ
03-07 グループ化構成体
  03-07-01 (?:pattern) 部分正規表現のグルーピング(キャプチャなし)
  03-07-02 (?=pattern) patternがこの位置の右側に存在する場合にマッチ(肯定の先読み)
  03-07-03 (?!pattern) patternがこの位置の右に存在しない場合にマッチ(否定先読み)
  03-07-04 (?<=pattern) patternがこの位置の左に存在する場合にマッチ(肯定戻り読み)
  03-07-05 (?  03-07-06 (?>pattern) マッチ文字列に対するバックトラックを禁止する
  03-07-07 (?(condition)yes-pattern) conditionが成立した場合は、yrs-patternにマッチするかどうかを試す
  03-07-08 (?Ppattern)、(?pattern) 名前付きキャプチャ
03-08 修飾子
  03-08-01 i修飾子 大文字/小文字の違いを無視する
  03-08-02 c修飾子 マッチに失敗しても、前回のマッチ位置をリセットしない
  03-08-03 d修飾子 UNIXラインモードにする
  03-08-04 e修飾子 置換文字列をPerl/PHPコードとして評価し、その結果を利用する
  03-08-05 g修飾子 繰り返しマッチを行う
  03-08-06 m修飾子 マルチラインモードにする
  03-08-07 o修飾子 正規表現を1回だけコンパイルする
  03-08-08 s修飾子 シングルラインモードにする
  03-08-09 u修飾子 Unicodeサポートの強化
  03-08-10 x修飾子 パターン内で空白とコメントが利用可能となる
  03-08-11 A修飾子 強制的に文字列先頭にマッチさせる
  03-08-12 D修飾子 「$」を文字列の末尾にのみマッチさせる
  03-08-13 U修飾子 「欲張り」と「無欲」の役割を反転させる
  03-08-14 X修飾子 PCREの付加機能を有効にする
  03-08-15 CANON_EQフラグ 等価とみなされる文字を同じ文字としてマッチ
  03-08-16 (?modifier)、(?-modifier) 一時的に処理モードを有効にする/無効にする
  03-08-17 (?modifier:pattern)、(?-modifier:pattern)指定した処理モードを部分正規表現に適用する(クロイスタ)
03-09 変換とエスケープ
  03-09-01 \l、\u 次の文字を小文字/大文字として扱う
  03-09-02 \Q~\E 範囲内のすべての文字をエスケープする
  03-09-03 \L~\E、\U~\E 範囲内のすべても文字を小文字/大文字として扱う
03-10 その他
  03-10-01 (?# comment) 正規表現中のコメント
  03-10-02 (?{code}) 埋め込まれたコードを実行する
  03-10-03 (??{code}) 埋め込まれたコードを実行し、その結果を正規表現として使用
  03-10-04 \C 任意の1バイトにマッチ
  03-10-05 [a-z&&[bc]] ブラケット表現内での集合演算
  03-10-06 [:..:] 処理系独自定義の文字クラス
  03-10-07 \P{..} Java独自の擬似「POSIX文字クラス表現」
  03-10-08 vim独自の文字クラスエスケープ
  03-10-09 \& 両方の選択肢にマッチした場合のみマッチ
  03-10-10 & マッチした内容に対する後方参照
  03-10-11 \f タグ付き正規表現

PART 04:逆引きリファレンス 基本編

04-01 基本
  04-01-01 文字「a」が連続している部分にマッチさせたい
  04-01-02 「a」が5回続いた文字列にマッチさせたい
  04-01-03 「Mac OS」あるいは「MacOS」にマッチさせたい
  04-01-04 特定のパターンが繰り返す部分にマッチさせたい
  04-01-05 「boy」あるいは「girl」にマッチさせたい
  04-01-06 「.」そのものにマッチさせたい
  04-01-07 ある文字列から始まる行にマッチさせたい
  04-01-08 ある文字列で終わる行にマッチさせたい
  04-01-09 文字列の先頭/末尾にマッチさせたい
  04-01-10 英数字にマッチさせたい
  04-01-11 数字にマッチさせたい
  04-01-12 空白文字にマッチさせたい
  04-01-13 「book」という単語そのものにマッチさせたい
  04-01-14 任意の単語にマッチさせたい
  04-01-15 コード値で文字を指定したい
  04-01-16 制御文字にマッチさせたい
  04-01-17 大文字と小文字を区別せずにマッチさせたい
  04-01-18 「a」以外の1文字にマッチさせたい
  04-01-19 「c」と「x」を除くアルファベット小文字にマッチさせたい
  04-01-20 最初に現れる「/」までにマッチさせたい
  04-01-21 指定したパターンが繰り返し登場するかどうかを調べたい
  04-01-22 Unicodeカテゴリを利用して文字を指定したい
  04-01-23 「Japan」にはマッチするが「Japanese」にはマッチしない
  04-01-24 「社長」にはマッチするが「副社長」にはマッチしない
  04-01-25 マルチバイト非対応の処理系で日本語を扱いたい

PART 05:逆引きリファレンス 応用編

05-00 応用編イントロダクション
  05-00-01 応用編での正規表現
05-01 一般
  05-01-01 空白文字しかない行にマッチさせたい
  05-01-02 まったく同じ文字/単語が連続する部分にマッチさせたい
  05-01-03 文字列「abc」から始まらない行にマッチさせたい
  05-01-04 文字列「abc」が含まれない行にマッチさせたい
  05-01-05 大文字が3文字以上連続した単語にマッチさせたい
  05-01-06 ダブルクォートで括られた文字列にマッチさせたい
  05-01-07 少数にマッチさせたい
  05-01-08 指数表記の数値にマッチさせたい
  05-01-09 3行区切りの数値にマッチさせたい
05-02 HTML/XML
  05-02-01 URLにマッチさせたい
  05-02-02 HTML内の色指定にマッチさせたい
  05-02-03 HTMLのa要素からhref属性の値を抜き出したい
  05-02-04 HTMLの見出し要素の内容を抜き出したい
  05-02-05 HTML/XMLの開始タグにマッチさせたい
  05-02-06 type属性がhidden以外のinput要素にマッチさせたい
05-03 日付/時刻
  05-03-01 年号表記にマッチさせたい
  05-03-02 年月日の表記にマッチさせたい
  05-03-03 「19:58:02」形式にマッチさせたい
  05-03-04 「30 June 2004 19:58:02」形式にマッチさせたい
05-04 プログラミング
  05-04-01 郵便番号にマッチさせたい
  05-04-02 電話番号にマッチさせたい
  05-04-03 iniファイル形式のセクション指定行にマッチさせたい
  05-04-04 「キー=値」という形式にマッチさせたい
  05-04-05 Windowsのフルパス形式にマッチさせたい
  05-04-06 Windowsの特殊ファイル名にマッチさせたい
  05-04-07 MACアドレスをマッチさせたい
  05-04-08 IPアドレスにマッチさせたい
  05-04-09 ホスト名(FQDN)にマッチさせたい
  05-04-10 ロカール名にマッチさせたい
  05-04-11 パーセントエンコーディングにマッチさせたい
  05-04-12 エンコードされたメールヘッダにマッチさせたい
  05-04-13 クエリ文字列を分解したい
  05-04-14 メールアドレスにマッチさせたい
  05-04-15 ファイル名からtarアーカイブかどうか判定したい
05-05 プログラム解析
  05-05-01 Cプログラムからインクルードされたファイルを抜き出したい
  05-05-02 Cプログラムから関数定義を抜き出したい
  05-05-03 スクリプトからヒア・ドキュメントを抜き出したい
05-06 文字種別
  05-06-01 Windowsも機種依存文字にマッチさせたい
  05-06-02 ひらがなにマッチさせたい
  05-06-03 カタカナにマッチさせたい
  05-06-04 漢字にマッチさせたい
  05-06-05 第一水準漢字にマッチさせたい
  05-06-06 第二水準漢字にマッチさせたい
  05-06-07 半角カタカナにマッチさせたい
  05-06-08 その他の文字種別にマッチさせたい

PART 06:逆引きリファレンス 置換編

06-00 置換編イントロダクション
  06-00-00 置換編での正規表現について
06-01 文書作成
  06-01-01 行と行の間に空行を追加したい
  06-01-02 句読点で改行を入れたい
  06-01-03 行の先頭及び末尾の空白を削除したい
  06-01-04 カンマの後ろのスペースを1つに統一したい
  06-01-05 ピリオドの後ろのスペースを2つに統合したい
  06-01-06 「、」「。」を「,」「.」に変換したい
  06-01-07 段落を保持したまま複数行を1行にしたい
  06-01-08 英数字/英単語と日本語の文字の間にスペースを入れたい
  06-01-09 単語の先頭の文字を大文字に変換したい
  06-01-10 各単語の先頭1文字から頭字語を作成したい
06-02 HTML/XML
  06-02-01 「sample.html#p1」から、#より前/後の文字列を削除したい
  06-02-02 「&」をすべて「&amp;」に置換したい
  06-02-03 XMLの「<要素名/>」を「<要素名>」に変換したい
  06-02-04 タグの外部にある「green」をすべて「yellow」に変換したい
  06-02-05 HTML/XMLのコメントを削除したい
06-03 プログラミング
  06-03-01 クエリ文字列から値が入っていないフォームデータを排除したい
  06-03-02 「product_name」を「productName」に変換したい
  06-03-03 「PRODUCT_NAME」を「productName」に変換したい
  06-03-04 メールの引用符を取り除きたい
  06-03-05 ファイル名から拡張子を除去したい
  06-03-06 パス名からファイル名部分以外を除去したい
06-04 プログラミング解析
  06-04-01 Javaプログラムからコメントを削除したい
  06-04-02 Perlプログラムからコメントを削除したい
  06-04-03 Cプログラムからコメントを削除したい

APPENDIX

AP-01  ASCII
  AP-01-01 ASCIIの制御文字一覧
  AP-01-02 ASCIIに含まれる文字の一覧
AP-02  Unicode
  AP-02-01 一般カテゴリ一覧
  AP-02-02 Unicodeスクリプト一覧
  AP-02-03 Unicodeブロック一覧
  AP-02-04 JavaでのUnicodeブロック名

Column

GNUプロジェクトとは
awkについて
文字列と「\」
GNU sedの「\dnnn」

本書は付属データの提供はございません。

書籍への問い合わせ

正誤表、追加情報をご確認の上、こちらよりお問い合わせください

書影の利用許諾について

本書籍に関する利用許諾申請はこちらになります

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2013年04月02日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 145
ページ中ほどの見出し
4刷
基本正規表現における「+
基本正規表現における「?
2013.04.02
1刷 145
[文例]の3行上
4刷
Mac ?OS」は「Mac \+OS
Mac ?OS」は「Mac \?OS
2013.04.02