I-Regexp: 相互運用可能な正規表現フォーマット
I-Regexpは、異なるプログラミング言語や環境間で相互運用可能な正規表現の標準フォーマットを定義するRFC 9485として規定された仕様です。Unicode対応や基本構文の統一により、アプリケーション間での正規表現の移植性と一貫性を高めることを目的としています。
背景メモ
IETF(Internet Engineering Task Force)が発行するRFC 9485は、正規表現(regex)の相互運用性を高めるための標準化文書。異なるプログラミング言語やライブラリ(Python, JavaScript, Java, Perlなど)では正規表現の構文や挙動に微妙な違いがあり、それが原因でセキュリティ検証やデータバリデーションが破綻するケースが後を絶たなかった。このRFCは「I-Regexp」(Interoperable Regular Expression)と呼ばれるサブセットを定義し、対応する実装間で同じパターンが同じ文字列にマッチすることを保証する。主な目的は、パスワードポリシーの検証やログ解析など、厳密な再現性が求められる場面での誤差をなくすこと。標準化の背景には、JSON Schema(RFC 8259)やSchac(学術コミュニティのスキーマ)など、複数の仕様でポータブルな正規表現が必要とされた経緯がある。I-RegexpはPerl互換正規表現(PCRE)のように高度な機能には対応せず、あえて基本機能に絞ることで移植性を担保している。