ホームページ  >  記事  >  ウェブフロントエンド  >  正規表現の新機能は何ですか?

正規表現の新機能は何ですか?

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-30 13:32:411426ブラウズ

今回は、正規表現の新機能と、正規表現で新機能を使用する際の注意事項について説明します。以下は実際的なケースです。

ES2015 正規表現の新機能:

オリジナルの正規表現に基づいて、ES2015 では 4 バイトの Unicode 文字およびその他の機能のサポートが強化されました。

正規表現の内容の詳細については、正規表現チュートリアルのセクションを参照してください。

1. RegExpコンストラクターの使用法:

ES2015 より前には、RegExp コンストラクターを使用して正規表現オブジェクトを作成する方法:

作成方法 1:

var reg = new RegExp("antzone","g");

コンストラクターの最初のパラメーターは正規表現文字列本体で、2 番目のパラメーターは正規表現修飾子です。
上記のコードは、次のコードと同等です:

var regex = /antzone/g;

作成方法 2:

var reg = new RegExp(/antzone/g);

ifパラメータ 正規表現文字列ではないため、パラメータを 1 つだけ指定できます。次の記述は間違っています:

は 2 番目のパラメータの使用を許可しません。パラメータを使用して正規表現式修飾子を設定します。 ES2015 ではこの動作が変更され、最初のパラメータが正規表現オブジェクトであっても、2 番目のパラメータを指定することもできます:


var reg = new RegExp(/antzone/gi,"g");

th 2 つのパラメータで指定された式修飾子は、最初のパラメータの修飾子をオーバーライドします。

2. 文字列の通常のメソッド:

正規表現に関連する match()、replace()、search()、および Split() メソッドは、文字列オブジェクトに属します。 ES2015 ではこれが変更されており、これら 4 つのメソッドが呼び出されるとき、実際には

RegExp オブジェクト

のインスタンス メソッドが内部的に呼び出されます。
(1).String.prototype.match は RegExp.prototype[Symbol.match] を呼び出します。 (2).String.prototype.replace は RegExp.prototype[Symbol.replace] を呼び出します(3).String.prototype.search は RegExp.prototype[Symbol.search] を呼び出します
(3).String.prototype.split は RegExp を呼び出します.prototype[Symbol.split]
シンボルの詳細については、ES2015 シンボルの章を参照してください。


3. 後読みアサーション (ES2016):

後読みアサーションについては、正規表現のゼロ幅アサーションに関する章を参照してください。

4. 新しい修飾子:

Modifier説明uModifier この修飾子は、uFFFF より大きい Unicode 文字を正しく処理する機能を識別します。 y 修飾子 は、一致が失敗した場合、後続の文字は再試行されないことを規定します。 5. 新しい属性:

属性 説明 sticky 属性 y 修飾子が設定されているかどうかを識別するブール値を返します。 flags 属性 正規表現の修飾子を返します。 6. 新しいメソッド:

メソッドDescriptionRegExp.escape() (ES2016) 見たと思うこの記事の場合、あなたはその方法をマスターしました。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。 正規表現 W メタキャラクターの使用の詳細な説明 (コード付き)
推奨書籍:

正規表現文字クラスの詳細な紹介

以上が正規表現の新機能は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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