0

私はJavaScriptが初めてで、このコードが何をするのか本当に迷っています:

var re = /([^=&]+)(=([^&]*))?/g;
while (match= re.exec(qs))
{
var key= decodeURIComponent(match[1].replace(/\+/g,' '));
var value= match[3] ? QueryString.decode(match[3]) : '';
if (this.dict[key])
    this.dict[key].push(value);
else
    this.dict[key]= [value];
}

特に、誰かvar re = /([^=&]+)(=([^&]*))?/g;がコードのこの部分が何をするのか説明できますか?

4

3 に答える 3

3

このコードは、正規表現を使用してクエリ文字列を取得し、個々のパラメーター キー/値を解析して、使いやすいようにオブジェクトに変換します。

于 2013-07-01T15:52:09.797 に答える
2

それが正規表現です。

これらは、他の文字列のパターンを照合して、テキスト本文で複雑な検索を実行できるようにする文字列です。

上記の場合、正規表現はクエリ文字列内のパラメーターと一致するように設計されているため、各パラメーターに対して個別に関数を実行できます。

正規表現の使用に関するチュートリアルとリファレンスについては、このサイトをチェックしてください: http://www.regular-expressions.info/tutorial.html

于 2013-07-01T15:58:11.540 に答える
1

正規表現です。これらは、文字列/入力をフィルタリングして、ユーザー入力に関して要件を満たしていることを確認するために一般的に使用されます(つまり、「パスワードには文字、数字などを含める必要があります...」が、プログラムで行われます)

元の投稿で述べたコメントの 1 つとして、これは、これらがどのように機能するかをより簡単に「視覚化」するのに適した場所です。

于 2013-07-01T15:53:58.260 に答える