メールに記載された改行を含む問い合わせ文章を抽出したいです。
【自由記入欄】に入力された問い合わせ文章を抜き出したいのですが、この場合はfetchData(body, )をどのように入力すればいいのでしょうか?
'【自由記入欄】' + '[\s\S]*?' + '==========================='
上記のような範囲指定などいくつかやってみたのですが表示されないため困っています。
初心者のため以前いただいた回答や調べて出てきたものをつぎはぎしながら作っている状態なのですが、どうぞよろしくお願いいたします。
メール内容は以下の通りです。
【 お名前 】 ○○○○ 【 フリガナ 】 ○○○○ ~中略~ 【 自由記入欄 】 問い合わせ文章がここに表示されます。 問い合わせ文章がここに表示されます。 問い合わせ文章がここに表示されます。 ===========================
function q219571(){ const mailQuery = ',subject:"お問い合わせ"'; //メールの件名 const threads = GmailApp.search(mailQuery); const messages = GmailApp.getMessagesForThreads(threads).reduce(function (a,h) { return a.concat(h.map(mailToArray))},[]); const sheet = SpreadsheetApp.getActiveSheet(); const r = sheet.getLastRow(); sheet.getRange(r+1, 1, messages.length, 15).setValues(messages); } function mailToArray(m) { const body = m.getPlainBody(); return [ fetchData(body, '送信された日時:', '\r'), //送信された日時を抽出 fetchData(body, '【 お名前 】', '\r'), //氏名を抽出 fetchData(body, '【 フリガナ 】', '\r'), //フリガナを抽出 fetchData(body, '【 ご住所 】', '\r'), //郵便番号を抽出 fetchData(body, '(東京都|北海道|(?:京都|大阪)府|.{2,3}県)','\r'), //県名を抽出 fetchData(body, '[府|都|道|県]', '\r'), //市以降の住所を抽出 fetchData(body, '【 電話番号 】', '\r'), //電話番号を抽出 fetchData(body, '【 メールアドレス 】', '\r'), //メールアドレスを抽出 fetchData(body, '⒈', '\r'), //きっかけを抽出 fetchData(body, '⒉', '\r'), //きっかけを抽出 fetchData(body, '⒊', '\r'), //きっかけを抽出 fetchData(body, '⒋', '\r'), //きっかけを抽出 fetchData(body, '⒌', '\r'), //きっかけを抽出 fetchData(body, '⒍', '\r'), //きっかけを抽出 fetchData(body, '', '\r'), //問い合わせ文を抽出 ]; } function fetchData(str, pre, suf) { const res = str.match(new RegExp(pre + '(.*?)' + suf)); return res === null ? '' : res[1]; }