• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現 数値 lastMatch)

JavaScriptの正規表現を使って文字列から最後にマッチした数値を取得する方法

このQ&Aのポイント
  • JavaScriptの正規表現を使って、与えられた文字列を1行ずつ分割し、最後にマッチした数値を取得する方法をご紹介します。
  • 具体的な処理としては、与えられた文字列を改行で分割し、各行の中から数値の部分を見つけて取得します。
  • ただし、現在のコードでは全ての行から最初にマッチした数値を取得しているため、最後にマッチした数値を取得するための修正が必要です。

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

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

arr[i].match(/[0-9]+/);とgが最後についていないので、最初にマッチしたら終わってますよね。 arr[i].match(/[0-9]+/g);と書いたら期待した動作をするのでは?

left2012
質問者

お礼

ご回答ありがとうございます。 ご指摘いただいた通りでした。 ありがとうございました。

その他の回答 (1)

回答No.2

ちょっと ねぼけてるかも? ぜんかくくうはくは、はんかくにして。 どこかに ねんれいがないと ちがいがわかる function getAge (str) {  var reg = new RegExp ('\\((\\d+)\\)$', 'gm');  var ary = [];  var num;  while (num = reg.exec (str))   ary.push (parseInt (num[1]));  return ary; } //#Array.map function getAge2 (str) {  return str.split (/\r\n|\r|\n/g).map (function (dat) {   var m = /\((\d+)\)$/.exec (dat);   return m ? parseInt (m[1]): null;  }); } var str = ["1: か(1)おり(23)", "2: 景子 (59)", "n3: さとみ(6)"].join ("\n"); var rst = getAge (str); //getAge2 (str) alert(rst);

関連するQ&A