- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現で「(.*?)&」とは?)
正規表現で(.*?)&とは?
このQ&Aのポイント
- JavaScriptの正規表現で使用される(.*?)&の部分の意味について理解できません。
- 正規表現の.*は任意の長さの任意の文字を表し、?は直前の文字が0か1回出現することを表します。
- 括弧に入るのは一般的なURLで、?があるとwwwなどはmatchしないようです。また、&は特定の文字と一致することを表します。
- みんなの回答 (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] にはヒットしません(末尾の&が無い) 以上
お礼
なるほど、そういうことだったんですか。 最短一致が、思っていた意味とは違っていたので非常に参考になりました。また、&も何か特殊記号なのかと思っていましたが、やはり違うのですね。 ありがとうございました。