正規表現でテキストから金額を表す数字部分のみを取得したい


Google App Script によって金額の含まれたテキストから金額の数字のみを抽出したい。  
そのために正規表現を使っているのですが、書き方が冗長になってしまいます。  
もっと良いコードはありませんか？

[code]

    function myFunction() {
      text = "これはテストメールです\nご利用金額：1,234円です\nまた利用してください"
      console.log(text.match(/ご利用金額：[\d,]+円/g).toString().match(/[\d,]+/g)) // テキストから金額のみを抽出
    }
    
[/code]




正規表現で取り出したい部分を `()` で括って **グループ化** を行い、 **後方参照** することでマッチした部分のみを取り出す方法が考えられます。

[code]

    function myFunction() {
      text = "これはテストメールです\nご利用金額：1,234円です\nまた利用してください"
      price = text.match(/ご利用金額：([\d,]+)円/)
      console.log(price[1])
    }
    
[/code]

パターンに `()` のペアが複数含まれる場合には、`price[1]`, `price[2]` のように配列の要素として順にそれぞれ取り出す形になります。

# 私自身 JavaScript はあまり詳しくないので、もっとスマートな書き方があるかもしれません。




正規表現で取り出したい部分を `()` で括って **グループ化** を行い、 **後方参照** することでマッチした部分のみを取り出す方法が考えられます。

[code]

    function myFunction() {
      text = "これはテストメールです\nご利用金額：1,234円です\nまた利用してください"
      price = text.match(/ご利用金額：([\d,]+)円/)
      console.log(price[1])
    }
    
[/code]

パターンに `()` のペアが複数含まれる場合には、`price[1]`, `price[2]` のように配列の要素として順にそれぞれ取り出す形になります。

# 私自身 JavaScript はあまり詳しくないので、もっとスマートな書き方があるかもしれません。

