ソースコード内の/\W/
は、regular expression literal(MDC link)です(MDCが仕様より約18X明確です)。文字列リテラル( "foo")と同様に、正規表現リテラルはコード内に正規表現を書く方法です。正規表現リテラルの中の/
文字は、文字列リテラルの引用文字に似ています。文字列リテラルでは、引用符の内側にあるのは文字列の内容です。正規表現のリテラルでは、/
文字の中にあるものが正規表現です。 (また、エンディング/
次のフラグが存在する場合があります。)
は、これは:
var rex = /\W/;
...正規表現\W
(試合1ワード文字)のための正規表現オブジェクトを作成します。長い形式で、私はバックスラッシュは文字列リテラルでは特別なので、文字列内のバックスラッシュをエスケープしなければならなかったこと
var rex = new RegExp("\\W");
注:これは、(基本的に)に相当します。これは、正規表現のリテラルがある理由の1つです。すべてのバックスラッシュ(バックスラッシュが多くの正規表現の重要な部分です)からエスケープする必要があるとき、非常に混乱し、非常に迅速になるためです。
正規表現は、機能を付与されたプロパティを持つオブジェクトです(実際にはメソッドはありませんが、JavaScriptは技術的にのメソッドを持っていません)。したがって、/\W/.test(...)
は、/\W/
によって定義された正規表現オブジェクトに対してtest
関数を呼び出します。
を '/ \ W /は'正規表現リテラルです。正規表現には、呼び出すことのできるメソッドがあります。 https://developer.mozilla.org/ja/JavaScript/Guide/Regular_Expressionsとhttps://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/RegExp –
をご覧ください。あなたの質問には私には分かりませんあなたは即座の正規表現について質問していますか?あなたは "正規表現の文字列クラス"とはどういう意味ですか?それは文字列ではなく正規表現です。 –
あなたはスラッシュの間の内容についてtest()メソッドを参照していますか?もしそうなら、それはJavaScriptのRegExpオブジェクトになります。これはJSの正規表現の統合構文に過ぎません。 http://www.w3schools.com/jsref/jsref_obj_regexp.asp –