プログラミング

GASで正規表現でマッチした文字列を取得してくるコード

あきぞらです。

GASを使っていて、正規表現で条件にマッチした文字列を取得したくなったので、そのコードを組んでみました。

たとえば、こんなHTMLがあったとします。

<p>氏名:秋空</p>
<p>ふりがな:あきぞら</p>
<p>性別:男</p>
<p>電話番号:XXX-XXXX-XXXX</p>

ここから、GASで例えば「氏名」を取得したい場合があったときにGASではこんな風に取得してくるようにしました。

上のHTMLのテキストがbodyという変数に入っていた場合、こんな書き方でとれます。

var name = body.match(/氏名:(.*?)<\/p>/im)[1]
// ログ出力して確認すると取得できている
Logger.log(name)

「氏名:」の部分と、「</p>」の間にある文字列を取得してきています。

「</p>」 の「/」が囲い文字として読み込まれないように、バックスラッシュ「\」を入れてエスケープしています。

「?」を入れることで、一番初めにマッチしたものを取得することができます。

細かくいうとまだまだポイントはありますが、前後の文字に気をつければすぐに応用できると思います。

-プログラミング
-,

Copyright© あきぞらてっく , 2020 All Rights Reserved Powered by AFFINGER5.