あとがき
Rubyを用いて小さな正規表現エンジンであるkantan-regex
を実装してきました。
ここまで実装してみて、想像よりも少ないコード行数で実装できることに驚いた方も多いのではないかと思います。
こちらの手元でのコードは空行やコメントを含めて300行程度と、かなり少ない行数で実装できています。
今回の実装を通じて、正規表現マッチの動作は複雑なわけではなく、選択や繰り返しがよくあるプログラムの分岐やループとは少し異なり、全ての可能なマッチを網羅する形で動作することが特徴的だということが伝わっていたら嬉しいです。 そして、正規表現を今後利用する際にこのことを思い出して、意図するパターンを上手く書けるようになったり、これまでに書いた正規表現のバグを発見することに役立つことを期待しています。
それでは、最後まで読んでいただきありがとうございました。