ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で正規表現に変数を動的に挿入するにはどうすればよいですか?

JavaScript で正規表現に変数を動的に挿入するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-09 11:07:02378ブラウズ

How to Dynamically Inject Variables into Regular Expressions in JavaScript?

正規表現内に変数を入れる: 改訂されたソリューション

ソフトウェア開発では、動的な値を正規表現に組み込むことが難しい場合があります。この記事では、この問題に対する効果的な解決策を検討し、「JavaScript の正規表現内に変数を挿入するにはどうすればよいですか?」というよくある質問に対する修正された回答を提供します。

元のアプローチでは、変数を正規表現に挿入しようとしました。文字列連結を使用した正規表現。ただし、この方法は変数を動的な値ではなくリテラル文字列として扱うため、適切ではありません。

ここで説明する解決策には、RegExp コンストラクターとテンプレート文字列を使用して新しい正規表現を作成することが含まれます。この手法を使用すると、変数を式に動的に埋め込むことができます。

const regex = new RegExp(`ReGeX${testVar}ReGeX`);
...
string.replace(regex, "replacement");

セキュリティに関する考慮事項

正規表現でユーザー指定の入力を利用する場合、これは非常に重要です。悪意のある入力による中断を防ぐために変数をエスケープします。 code.

ES6 Update

ES6 の出現により、推奨されるアプローチが更新され、読みやすさと簡潔さが向上したテンプレート文字列を使用するようになりました。

var regex = new RegExp(`ReGeX${testVar}ReGeX`);
...
string.replace(regex, "replacement");

以上がJavaScript で正規表現に変数を動的に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。