WEB+DB PRESS plusシリーズ正規表現技術入門
――最新エンジン実装と理論的背景
2015年4月14日紙版発売
2015年4月14日電子版発売
新屋良磨,鈴木勇介,高田謙 著
A5判/352ページ
定価3,630円(本体3,300円+税10%)
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のパッチを書いていることの方が多い。
喜田拓也(きだたくや)
特別寄稿
北海道大学 大学院情報科学研究科 情報理工学専攻
知識ソフトウェア科学講座 情報知識ネットワーク研究室 准教授浦本武雄(うらもとたけお)
特別寄稿
京都大学理学部卒.京都大学大学院博士課程修了.博士(理学)(京都大学)
現在,京都大学数理解析研究所 研究員
本書に関するお知らせ
本書に関連する記事を公開しております。
この書籍に関連する記事があります!
- 本書について
- プログラミングの世界には実に多くの技術や方法論が溢(あふ)れていますが,その中でも「正規表現」はかなり特別な存在です。
- 番外編●特別コラム
- プログラミングの世界には実に多くの技術や方法論が溢れていますが,その中でも「正規表現」はかなり特別な存在です。
- コンピュータ/インターネットの世界で遭遇する。謎の呪文(!?)正規表現って何だろう?
- コンピュータやインターネットの世界では,普段見慣れない文字や記号の並びがあれこれ出てきて,これは一体何だろうと頭を抱えることも,しばしば。
この本に関連する書籍
-
[改訂新版]プログラマのための文字コード技術入門
ソフトウェアエンジニアをおもな対象に,文字コードの基本をまとめた解説書。 本書前半では,「文字」そのものと「文字コード」の歴史を少しずつ解きほぐしながら,...
-
[増補改訂]関数プログラミング実践入門──簡潔で,正しいコードを書くために
現場の方々に向け,関数プログラミングのエッセンスを厳選解説した入門書。関数型言語Haskellを用い,基本から,Java 8/C/C++/Python/JavaScript/Rubyをはじめ各種命令...
-
[改訂新版]正規表現ポケットリファレンス
テキスト処理(文字列処理)における効果抜群のツール、正規表現。 巨大なテキストデータの検索/置換や変換/集計などを行う際,正規表現を使うと作業効率が格段に上が...
-
コンピュータアーキテクチャ技術入門 ――高速化の追求×消費電力の壁
わずか70年余りで,150億倍もの演算速度向上を遂げたプロセッサ, 40年余りで記憶容量が800万倍に増加したメインメモリ, 55年余りで記憶密度が3億倍に達したストレー...
-
日本語入力を支える技術 ―変わり続けるコンピュータと言葉の世界
コンピュータと人を結ぶ窓口である入力プログラム(IME)は一見シンプルですが,その言語,特に日本語の扱いにはソフトウェアレベルの数多くの工夫が詰まっています。本...
-
プログラマのための文字コード技術入門
より深く知り,すぐ試し,上手に実装したい。プロの道を進む方々にお届けしたい「ベーシック」,WEB+DB PRESS plusシリーズ「技術入門」の第1弾です。 コンピュータ...