JavaScriptソースコードに適用すると有効な文字列リテラル("say \"Hello\""
など)と正規表現リテラル(たとえば/and\/or/
)が一致する包括的な正規表現が存在しますか?この式は、改行やエスケープシーケンスなど、すべてのエッジケースをカバーする必要があります。文字列または正規表現のリテラルにない正規表現と一致する正規表現
また、の文字列と正規表現リテラルの外側にあるのパターンと一致する正規表現を知っている人はいますか?
私の目標は、デリメータのマクロ(たとえば{{@foo.bar}}
または#@foo.bar#
)をプリプロセッサで展開できるようにする、単純なJavaScriptシンタックス拡張を実装することです。しかし、私はマクロを処理したいのですが外部ののリテラルです。
今のところ、私は既存のJavaScriptレクサー/パーサーを増やすことなく、文字列の置換だけでこれを達成しようとしています。
このJavaScriptプリプロセッサ自体は、JavaScriptで実装されます。
これは正規表現にはあまりにも多いと思います。文字列、コメント、正規表現のリテラルはどこで始まり、終わるのですか? –
@TimPietzcker、私はあなたのことを思っています。コメントは正解です。あなたはここで本格的なパーサーを実装することはできません。答えとしてコメントを投稿すると、私はそれを受け入れます(私はマクロの決定を終わり、特定の変数命名規則、私は純粋なJavaScript構文を使用しています。) – kpozin