インライン コメントは、文字列が RegExp コンストラクターに渡されるときに機能します。
RegExp("foo"/*bar*/).test("foo")
しかし、表現ではありません。RegExpオブジェクトのxモードをエミュレートするJavaScriptに同等または代替手段はありますか?
インライン コメントは、文字列が RegExp コンストラクターに渡されるときに機能します。
RegExp("foo"/*bar*/).test("foo")
しかし、表現ではありません。RegExpオブジェクトのxモードをエミュレートするJavaScriptに同等または代替手段はありますか?
Javascript はx
修飾子もインライン コメントもサポートしていません(?#comment)
。こちらをご覧ください。
あなたができる最善の方法は、RegExp
コンストラクターを使用し、すべての行を個別の文字列に書き込んで連結することです (文字列の間にコメントを付けます)。
RegExp(
"foo" + // match a foo
"bar" + // followed by a bar
"$" // at the end of the string
).test("somefoobar");
長さゼロのサブ式を使用する以外は、不可能です。「コメント」の例:
/[a-z](?!<-- Any letter)/
(?!..)
否定された先読みです。前の後に括弧内の文字列が続かない場合に一致します。(?!
との間)
は本当の正規(部分)式なので、バックスラッシュでエスケープしないと任意の文字は使えません
別の方法は、肯定的な先読みを使用することです。
/[a-z](?=|<-- Any letter)/
この先読みは常に一致します。これは、明らかに のa-z
後にも空の文字列が続くためです。