Google Apps Scriptを使用してGmailメッセージから次のような番号を抽出しようとしています。Google Apps Scriptを使用してGmailメッセージから番号を抽出する
2,495.00
1,594
3,777.23
642.00
これはコードです:
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var threads = GmailApp.search('subject:(Transaction) after:2016/7/31 before:2016/8/10');
for (var i=0; i<threads.length; i++)
{
var messages = threads[i].getMessages();
var tmp;
for (var j=0; j<messages.length; j++)
{
var content = messages[j].getBody();
var subject = messages[j].getSubject();
var date = messages[j].getDate();
Logger.log(content);
if (content)
{
tmp = content.match(/\d+(,\d+)*(\.\d+(e\d+)?)?/);
var number = (tmp && tmp[j]) ? tmp[j] : 'No number';
sheet.appendRow([number, subject, date]);
}
else
{
sheet.appendRow([content, subject, date]);
}
}
}
}
私は混合結果を得るてきました。いくつかのメッセージでは、これは意図したとおりに機能しますが、一部のメッセージではメッセージの番号を完全にスキップします。私はJS/GASの初心者で、問題は正規表現にあると思ったが、わからない。これについての助けに感謝します。
あなたはカンマで数字が必要なのでしょうか? –
はいの場合は試してください: /(\d+,?¥d+(?:¥¥¥¥+++++?))g/ –