• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現で「(.*?)&」とは?)

正規表現で(.*?)&とは?

このQ&Aのポイント
  • JavaScriptの正規表現で使用される(.*?)&の部分の意味について理解できません。
  • 正規表現の.*は任意の長さの任意の文字を表し、?は直前の文字が0か1回出現することを表します。
  • 括弧に入るのは一般的なURLで、?があるとwwwなどはmatchしないようです。また、&は特定の文字と一致することを表します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

. 任意のキャラクタ * 前の一致の0個以上の一致 ? 最短一致指定 -----------ここまで正規表現の特殊記号------------- \? urlのGETパラメタ指定(?をキャラクタ指定するにはエスケープする必要があるため\が付いている) & urlのGETパラメタのセパレタ -----------ここまでURLの特殊記号------------- つまり、 [hogehoge?url=keyword&aaaa=bbbbb&cccccc=dddddd] というurlから keyword を引っ張り出す正規表現です。 最短一致(?)がない場合は keyword&aaaa=bbbbb がヒットします。 &がない場合は keyword&aaaa=bbbbb&cccccc=dddddd までヒットします [hogehoge?url=keyword] にはヒットしません(末尾の&が無い) 以上

twinhourse
質問者

お礼

なるほど、そういうことだったんですか。 最短一致が、思っていた意味とは違っていたので非常に参考になりました。また、&も何か特殊記号なのかと思っていましたが、やはり違うのですね。 ありがとうございました。