エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
背景 プログラム言語Mokkosuには正規表現のライブラリが存在しない。最近正規表現技術入門という本を読... 背景 プログラム言語Mokkosuには正規表現のライブラリが存在しない。最近正規表現技術入門という本を読み、正規表現の実装について触れる機会があったので、試しに最小の正規表現エンジンを作ってみることにした。また最近Scalaを勉強中なので、Scalaのコードも併記することにした。 二つの実装 正規表現技術入門によると、正規表現のエンジンは大きく分けて次の二種類に分類される。 DFA型 VM型 DFA型とは、正規表現を等価なDFA(決定性オートマトン)に変換してマッチングを行う手法である。また、VM型は正規表現をバイトコードへ変換し、そのバイトコードを実行するVM(バーチャルマシン)にてマッチングを行う手法である。 正規表現をDFAへ変換してマッチングするプログラムは以前書いたことがあったので、今回はVM型で実装を行うことにした。 正規表現のデータ構造 正規表現を一般的なメタ文字列を含むテキ