概要 nom は Rust で実装された字句解析ライブラリ (Lexer, Lexical Analyzer, Tokenizer) およびパーサコンビネーターです。プログラムのソースコードや DSL (domain specific language) のようなテキストデータの字句解析を実装できるのに加えて、バイナリデータの解析も前提に設計されています (実際、nom の作者は nom を使って GIF 画像ファイルのデコーダーを実装しています)。この記事は nom 5 に基づいてテキストデータを解析するチュートリアルを目的としています。 Table of Contents 概要 パーサーフレームワーク モジュール概要 パターン認識 パーサーの条件分岐や繰り返し 括弧の中の数字を抽出する 手続き型スタイルで解析する delimited: 括弧に囲まれた部分を取得する alt: 対応する括