1

これはどのように可能ですか?

var re = /\w+/;

他の言語でこのようなものを見たことがありません。これは言語シンタックスの一部ですか、それとも何か他のものですか?先頭の「/」は私が理解していないものです.「\ w + /」でそれを取得すると、jsは正確に何をしますか?

4

7 に答える 7

3

正規表現リテラルです。

MDN ドキュメントから

次の 2 つの方法のいずれかで正規表現を作成します。

次のように、正規表現リテラルを使用します。

var re = /ab+c/; 

正規表現リテラルは、スクリプトが評価されるときに正規表現のコンパイルを提供します。正規表現が一定のままである場合は、これを使用してパフォーマンスを向上させます。

次のように、RegExp オブジェクトのコンストラクター関数を呼び出します。

var re = new RegExp("ab+c");

コンストラクター関数を使用すると、正規表現のランタイム コンパイルが提供されます。正規表現パターンが変更されることがわかっている場合、またはパターンがわからず、ユーザー入力などの別のソースから取得している場合は、コンストラクター関数を使用します。

于 2013-02-01T16:30:16.577 に答える
1

これは正規表現リテラルです。

RegExpコンストラクターを使用して正規表現を作成するのとほぼ同じですが、解析するとすぐにコンパイルされ、エスケープする必要はありません\

少なくとも別の言語: Perl で同じ構文構造を持っていることに注意してください。

于 2013-02-01T16:29:50.310 に答える
0

JavaScript 専用ではなく、その正規表現、または RegEx です。「/」は、何かを比較する式を開始および終了します。

于 2013-02-01T16:29:12.753 に答える
0

それは正規表現です。文字列と数字を照合するためのルールを定義します。

于 2013-02-01T16:29:33.240 に答える
0

それは正規表現です。これらは、テキストに対してパターン マッチングおよび「検索と置換」機能を実行するために使用されます。

http://www.w3schools.com/jsref/jsref_obj_regexp.asp

于 2013-02-01T16:29:54.083 に答える
0

はい、Javascript 標準の一部であり、完全に正常に使用できる RegExp 構文です。

/\w+/正規表現では、英数字を順番に探すことを意味します... \wアルファベットベットの任意の文字または数字を表します。+シーケンスに少なくとも 1 つ以上ある必要があることを意味します。

"this123 is a test".match(/\w+/) == "this123"
于 2013-02-01T16:29:58.757 に答える
0

ちょっとした詩:文字列/に対するものと同様に、正規表現に対するものです。"

var intVar = 0;
var stringVar = "0";
var regexpVar = /0/;
于 2013-02-01T16:30:46.347 に答える