ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で指定された正規表現のクローンを作成するにはどうすればよいですか?

JavaScript で指定された正規表現のクローンを作成するにはどうすればよいですか?

WBOY
WBOY転載
2023-09-17 17:25:02985ブラウズ

如何在 JavaScript 中克隆给定的正则表达式?

JavaScript の正規表現サポートは世界最高のものの 1 つであると広く考えられていますが、正規表現を複製する方法が組み込まれていないという欠点が 1 つあります。これは、既存の正規表現に似ているが若干の変更を加えた新しい正規表現を作成する必要がある場合に問題になる可能性があります。

問題は、正規表現はオブジェクトであるため、あるオブジェクトを別のオブジェクトに代入するだけでは正規表現をコピーできないことです。次のコードを考えてみましょう -

リーリー

このコードでは、2 つの同一の正規表現を作成します。しかし、そのうちの 1 つに小さな変更を加えたい場合はどうすればよいでしょうか?

リーリー

2 つの正規表現は、最初はお互いのコピーであったにもかかわらず、異なっています。これは、正規表現が変更可能であり、作成後に変更できるためです。

正規表現を使用してクローンを作成する

正規表現のクローンを作成する 1 つの方法は、既存の正規表現リテラルに似た新しい正規表現リテラルを作成することです。たとえば、次のような正規表現があるとします -

リーリー

正規表現リテラルを使用して、-

と同一の新しい正規表現を作成できます。 リーリー

このメソッドはシンプルで簡単ですが、正規表現がリテラルである場合 (つまり、新しい RegExp() コンストラクターを使用して作成されていない場合) にのみ機能します。

RegExp() コンストラクターを使用して正規表現を複製する

正規表現のクローンを作成するもう 1 つの方法は、RegExp() コンストラクターを使用することです。これにより、既存の正規表現に基づいて、いくつかの変更を加えた新しい正規表現を作成できます。たとえば、次のような正規表現があるとします -

リーリー

RegExp() コンストラクターを使用して、それと同一の新しい正規表現を作成できます -

リーリー

この方法は前の方法よりも若干複雑ですが、非リテラル正規表現のクローンを作成できるという利点があります。

正規表現を複製するのはなぜですか?

正規表現の複製にはいくつかの利点があります。まず、類似した正規表現を多数作成する必要がある場合に時間を節約できます。次に、既存の正規表現に小さな変更を加える必要がある場合に、エラーを回避するのに役立ちます。最後に、正規表現にわかりやすい名前を付けることで、コードを読みやすくすることができます。

正規表現のクローン作成の欠点

正規表現の複製の欠点の 1 つは、コードがより複雑になることです。たとえば、次のような正規表現がある場合 -

リーリー

同様の新しい正規表現を作成したいが、大文字と小文字を区別しないフラグを設定するには、これを行う必要があります -

リーリー

これは、大文字と小文字を区別しないフラグを設定して新しい正規表現を単純に作成するよりも複雑です -

リーリー

要約すると、正規表現のクローン作成は便利なツールですが、いくつかのトレードオフが伴います。コードが複雑になる可能性がありますが、時間を節約し、エラーを回避することもできます。

以上がJavaScript で指定された正規表現のクローンを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。