~文法メモ~ 正規表現のマッチのキャプチャ

  • 分割代入を利用した正規表現の部分マッチのキャプチャ

    Perlで正規表現の(...)を配列で受け取るのと、ほぼ同様の考え方となります。

    let url = "https://developer.mozilla.org/en-US/Web/JavaScript";
    
    let urlrgx = /^(\w+)\:\/\/([^\/]+)\/(.*)$/;
    
    let [, protocol, fullhost, fullpath] = urlrgx.exec(url); // (...)にマッチするそれぞれの内容を、分割代入として受け取ることが出来る
    hm.debuginfo(protocol); // https
    hm.debuginfo(fullhost); // developer.mozilla.org
    hm.debuginfo(fullpath); // en-US/Web/JavaScript