入力として正規表現文字列を受け入れ、それが有効かどうかを確認する正規表現を作成します。基本的に、正規表現はそれ自体を検証できるはずです。(無効な正規表現は検証されないため、使用できません.*
。;)
フレーバーは、よく知られている実装(Perl、sed、grep、gawkなど)によって完全にサポートされている必要があり、それらの実装がサポートするものを完全にサポートしている必要があります。[弁護士が話すことを心配しないでください。私は、スマート***の可能性のある抜け穴を削除しようとしています。]
私はそれをコードゴルフしたいと思いますが、機能が豊富ではないフレーバーを知って使用している人々に優位性を与えるのではないかと心配しています。または、私の心配は根拠がありませんか?
8
不可能、任意のネストブラケットは正規表現をコンテキストフリーの文法にします(ポーランド語表記で置き換えるにはスタックも必要です)
—
ラチェットフリーク
@ratchet Augh、あなたは正しいかもしれません。
—
Mateen Ulhaq
角括弧のマッチングを許可する可能性がある通常の言語の拡張がいくつかありますが、それを行う方法がわかりません
—
ラチェットフリーク
Perlの正規表現で可能になるはずです。
—
ピーターテイラー
現代の言語で実装されている@BrianVandenbergの正規表現は、ほとんどすべてが非正規です...後方参照を追加するとすぐに、非正規言語と一致することができます。さらに、Perl / PCREと.NETはどちらも、正しいネストに一致するほど強力です。
—
マーティンエンダー14年