質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

313閲覧

【】このカッコを検索したい。

YUKI_B

総合スコア77

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2022/05/23 14:29

前提

Gmailの中身を抜き取ってGoogle spreadsheetに転機するプログラムを作成しています。
それはある程度完成したのですが一点引っ買っています。
例えば次のようなメール本文があったとします。

【注意】:電話番号の一致を除外|メールアドレスの重複を除外] 【商材名】:干し柿 【電話番号】:000-000-0000 【メールアドレス】:contactosiyou1234@google.co.jp

こんな感じの文章を改行で区切って配列組み込んでいます。

実現したいこと

ここに実現したいことを箇条書きで書いてください。
【】←これごと検索したいとです。
ならぜならば

gas

1   var reg0 = /.メールアドレス./g 2 3 for (var i = 0; i < mailhonbun.length - 1; i++) { 4 if (mailhonbun[i].match(reg0)) { 5 result[0] = mailhonbun[i] 6 break 7 } 8 }

上記のようにメール本文を配列に入れて
matchで検索し当てはまった際に指定の入れるの場所にいれたいのですが
本文にはメールアドレスのという箇所は2つあり、
上のほうがひっかかります。

発生している問題・エラーメッセージ

✕: result[0] =【注意】:電話番号の一致を除外|メールアドレスの重複を除外] ○: result[0] =【メールアドレス】:contactosiyou1234@google.co.jp

該当のソースコード

GAS

1  // mailhonbun = メールの本文を改行の所で区切り、配列に収めたもの 2 mailhonbun = [【注意】:電話番号の一致 ~ 34@google.co.jp] 3   var reg0 = /.メールアドレス./g 4 5 for (var i = 0; i < mailhonbun.length - 1; i++) { 6 if (mailhonbun[i].match(reg0)) { 7 result[0] = mailhonbun[i] 8 break 9 } 10 }

試したこと

数時間粘りましたがだめでした。
【メールアドレス】の行はあったりなかったり、行の位置も違っているのでそこからのアプローチもできません。

補足情報(FW/ツールのバージョンなど)

環境:Google apps script

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itagagaki

2022/05/23 15:09

なぜ /【メールアドレス】/ としないのですか?
YUKI_B

2022/05/23 16:49

検索結果が何も反応なしだったためです
guest

回答1

0

ベストアンサー

下記で実行すると、「【メールアドレス】〜」の部分を取得することができました。

gs

1function myFunction11678() { 2 3 let mailhonbun = [ 4 '【注意】:電話番号の一致を除外|メールアドレスの重複を除外]' 5 , '【商材名】:干し柿' 6 , '【電話番号】:000-000-0000' 7 , '【メールアドレス】:contactosiyou1234@google.co.jp' 8 ] 9 10 let result = [] 11 var reg0 = /^【メールアドレス】.*/ 12 13 for (var i = 0; i < mailhonbun.length; i++) { 14 if (mailhonbun[i].match(reg0)) { 15 result[0] = mailhonbun[i] 16 break 17 } 18 } 19 20 console.log(result) 21}

consoleログ

1[ '【メールアドレス】:contactosiyou1234@google.co.jp' ]

ご確認の方、よろしくお願いします。

投稿2022/05/24 00:00

k.a_teratail

総合スコア845

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YUKI_B

2022/05/24 00:29

ご回答いただきありがとうございます。 私の環境化では確認できました! https://www-creators.com/archives/4278 いま現在上記のサイトで/^【メールアドレス】.*/の記号を確認しながら学習しています。 ^で先頭から *で0回繰り返せ という意味なのですね。勉強になりました。 最後にもう一度早々に回答いただいたことを感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問