gihyo.jp » 書籍案内 » 定期刊行物一覧 » WEB+DB PRESS » WEB+DB PRESS plusシリーズ » 正規表現技術入門――最新エンジン実装と理論的背景

書籍紹介

正規表現技術入門――最新エンジン実装と理論的背景

[表紙]正規表現技術入門――最新エンジン実装と理論的背景

2015年4月14日発売

新屋 良磨,鈴木 勇介,高田 謙 著

A5判/352ページ

定価(本体3,300円+税)

ISBN 978-4-7741-7270-5

  • 本書のサポートページ

→学校・法人一括購入ご検討の皆様へ

この本の概要

最先端の正規表現技術にスポットを当てた,初学者向け技術解説書。プログラマにとって欠かせないツールである正規表現。便利な正規表現の実力を発揮させるには,動作原理から理解するのが近道です。

本書では,パターンマッチの基本から,基本三演算および理論/数学的背景,VM型/DFA型という二大最新エンジン実装まで徹底解説。また,処理系を踏まえた効率的な書き方や落とし穴を避ける技法もしっかり押さえます。狙いどおりのパターンを綴り,高速に文字列を取得したい,そんなエンジニアの方々へ,長く役立つ技術知識を満載してお届けします。

こんな方におすすめ

  • 正規表現をもっと便利に使いこなしたいプログラマの方々
  • 正規表現とは何かを知りたい方

執筆担当一覧

章/節執筆担当
前付け:各言語の公式ドキュメント,および正規表現の対応状況一覧表新屋 良磨
第1章:[入門]正規表現―メタ文字,構文,エンジン新屋 良磨
  • 章末コラム
鈴木 勇介
第2章:正規表現の歴史―理論と実装の両面から新屋 良磨
  • 「JavaScript」項
鈴木 勇介
  • 「Ruby」項
高田 謙
第3章:プログラマのための一歩進んだ正規表現―純粋な正規表現と,最新エンジン実装の比較新屋 良磨
第4章:DFA型エンジン―有限オートマトンと決定性新屋 良磨
第5章:VM型エンジン―鍵を握るのは「バックトラック」高田 謙
第6章:正規表現エンジンの三大技術動向―JITコンパイル,固定文字列探索,ビットパラレル
  • 6.1節「JITコンパイル―JavaScriptや正規表現エンジンの高速化」
鈴木 勇介
  • 6.2節「固定文字列探索による高速化」
新屋 良磨
  • 6.3節「ビットパラレル手法によるマッチング」
喜田 拓也(特別寄稿)
第7章:正規表現の落とし穴―バックトラック増加,マッチ,振る舞いの違い新屋 良磨
第8章:正規表現を超えて―「書かない」「読み解く」「不向きな問題を知る」新屋 良磨(協力:鈴木 勇介)
Appendix
  • A.1節「正規と非正規の壁―正規表現の数学的背景」
新屋 良磨
  • A.2節「正規性の魅力―正規言語の『より高度な数学的背景』」
浦本 武雄(特別寄稿)

著者プロフィール

新屋良磨(しんやりょうま)

東京工業大学 数理・計算科学専攻 博士課程学生。学部4年生の頃に正規表現の魅力に取り憑かれ研究を始める。世界最速のgrep開発(サイボウズ・ラボユース支援プロジェクト),正規表現を使った文字列圧縮などの応用研究を経て,現在は正規言語の本場フランスのパリに留学し正規表現の数理構造を研究中。とくに,言語と代数と論理の繋がりや,正規表現の公理的解析に興味がある。


鈴木勇介(すずきゆうすけ)

慶應義塾大学 開放環境科学専攻 博士課程学生。JavaScriptからプログラミングを始め,ブラウザやJavaScripエンジンそのものに興味を持つ。仕様を厳密に満たすJavaScriptエンジンの作成(サイボウズ・ラボユース支援プロジェクト)を経て,WebKitのCSS JITの開発に貢献し,WebKit committerとしてWebKit,JavaScriptCoreの開発に貢献している。現在は,GPUの仮想化の研究を行っている。システムソフトウェアやコンパイラに興味があり,C++に時間を吸われ続けている。


高田謙(たかたけん)

半導体メーカー勤務の組み込みプログラマ。2006年頃,当時使用していたエディタの正規表現に後読みが使えなかったことに不満を覚え,BREGEXP.DLL互換で,エンジンに鬼車を使用したbregonig.dllを作り始める。その後,Perlに\Kなどの新しい正規表現が導入されたことを知り,鬼車にも導入されることを心待ちにしていたが一向に導入されず,ついに2011年に一念発起して鬼雲を立ち上げ。最近は,鬼雲よりもVimのパッチを書いていることの方が多い。


喜田拓也(きだたくや)

特別寄稿
北海道大学 大学院情報科学研究科 情報理工学専攻
知識ソフトウェア科学講座 情報知識ネットワーク研究室 准教授


浦本武雄(うらもとたけお)

特別寄稿
京都大学理学部卒.京都大学大学院博士課程修了.博士(理学)(京都大学)
現在,京都大学数理解析研究所 研究員

コメント