私はこれに数時間を費やしましたが、これを理解できないようです。
以下のコードでは、 の正規表現がどのように機能しているかを正確に理解しようとしurl.match
ています。
以下のコードのように、動作しません。ただし、削除(?:&toggle=|&ie=utf-8|&FORM=|&aq=|&x=|&gwp)
すると、必要な出力が得られるようです。
ただし、これが何をしているのかを理解せずにこれを削除したくありません。
非常に役立つリソースを見つけましたが、数時間経っても、これらの式が何をしているのかを正確に判断できません。
誰かが私のためにこれを分解して、文字列をどのように正確に解析しているかを説明してもらえますか? 式自体と括弧の配置は、私にはあまり明確ではなく、率直に言って非常に混乱しています。
どんな助けでも大歓迎です。
(function($) {
$(document).ready(function() {
function parse_keywords(url){
var matches = url.match(/.*(?:\?p=|\?q=|&q=|\?s=)([a-zA-Z0-9 +]*)(?:&toggle=|&ie=utf-8|&FORM=|&aq=|&x=|&gwp)/);
return matches ? matches[1].split('+') : [];
}
myRefUrl = "http://www.google.com/url?sa=f&rct=j&url=https://www.mydomain.com/&q=my+keyword+from+google&ei=fUpnUaage8niAKeiICgCA&usg=AFQjCNFAlKg_w5pZzrhwopwgD12c_8z_23Q";
myk1 = (parse_keywords(myRefUrl));
kw="";
for (i=0;i<myk1.length;i++) {
if (i == (myk1.length - 1)) {
kw = kw + myk1[i];
}
else {
kw = kw + myk1[i] + '%20';
}
}
console.log (kw);
if (kw != null && kw != "" && kw != " " && kw != "%20") {
orighref = $('a#applynlink').attr('href');
$('a#applynlink').attr('href', orighref + '&scbi=' + kw);
}
});
})(jQuery);