Super Expressive - 自然言語に近い関数で正規表現を作る
(github.com)- やさしい英語で構成された関数で正規表現を組み立てられるようにする JS ライブラリ
例) 16-bit の16進コードを認識
→ /^(?:0x)?([A-Fa-f0-9]{4})$/
→ SE()
.startOfInput
.optional.string('0x')
.capture
.exactly(4).anyOf
.range('A', 'F')
.range('a', 'f')
.range('0', '9')
.end()
.end()
.endOfInput
.toRegex();
2件のコメント
あまり自然言語っぽくない…
文字通りDSLですね。