Googleアナリティクスやタグマネで使いたい正規表現の基本

Googleアナリティクスや、Googleタグマネージャーで、「この記事だけの情報がほしい」「この記事のときだけタグが動作してほしい」というときがあると思います。そのときに「〜を含む」といった条件で絞り込むのもよいですが、それでは限界があります。

正規表現を使わない場合の限界

例えば、ページURLが

  • ①sample.jp/25
  • ②sample.jp/255
  • ③sample.jp/2555

となっている場合のことを考えてみましょう。

ケース1:①だけ欲しい場合

①のURLを指定して「sample.jp/25を含むもの」という条件にした場合、①~③全て該当することになります。①だけを絞り込むことができません。この場合には「sample.jp/25と完全一致」を使用することになります。

f:id:cland741953:20170303091328p:plain

ケース2:①と②を欲しい場合

しかし、①と②を取得したい場合に、「sample.jp/25と完全一致」「sample.jp/255と完全一致」というように1つずつ設定をする必要がでてきます。欲しい情報が少なければ問題ありませんが、100記事、1000記事とある場合に、条件を1つずつ作成するのは面倒ですし、限界が来ます。

f:id:cland741953:20170303091252p:plain

大量の情報の中から、複雑な条件の情報を取得したい場合に「正規表現」が役に立ちます。便利な正規表現を使いこなすために、今回はよく使う正規表現を紹介していきます。




正規表現とは、文字列の別の表現

初めてのかたにとっては、正規表現というものは掴みにくい存在でしょう。正規表現というものは要するに、「ある文字列の別の表現」といったところです。

例えば「aaaaa」という文字列は正規表現で「.....」「a*」「a{5}」というように様々な指定方法があります。それぞれ下記のような文字列を意味しています。

  • 「.....」は、「何かしらの文字が5文字の文字列」
  • 「a*」は、「aが複数回続いている文字列」
  • 「a{5}」は、「aが5回続いている文字列」


このように、別の文字列で表現できるのが「正規表現」です。

正規表現でなら複雑な指定ができる

正規表現を利用することで、複雑な条件を指定することが可能です。記事最初に使用した例を、再度使って正規表現の良さをお伝えします。

  • ①sample.jp/25
  • ②sample.jp/255
  • ③sample.jp/255

ケース1:①だけ欲しい場合(正規表現なら)

^sample.jp/25$

f:id:cland741953:20170303091502p:plain

ケース2:①と②を欲しい場合(正規表現なら)

^sample.jp/25$|^sample.jp/255$

ケース2’:記事数がさらに多い場合(正規表現なら)

^sample.jp/25$|^sample.jp/255$|^sample.jp/25$|^sample.jp/25535$|^sample.jp/2335$|^sample.jp/2554555$・・・

f:id:cland741953:20170303091514p:plain

正規表現では、ひとつの欄に、上記のような文字列を入れてあげるだけで、ことが終わります。

特に使う場面というのが、やはり
①特定の条件の記事を大量にcsvで出力する
 (例えば特定カテゴリの記事)
②それらの記事だけのPVやセッションを表示する
という場合ですね。

①のcsvを出力するところまでは誰にでもできるのですが、②となると正規表現を使わなければ時間がかかることになります。ですので、Webライターから、Webマーケターなど、アナリティクスに触れる方はほぼ必須なほど、正規表現を覚える必要があるでしょう。


記事指定時によく使う正規表現

正規表現の例のさいに「^」「$」といった文字列が出現しました。これらは、正規表現において特定の意味をもっています。下記によく使う正規表現の意味をまとめておきます。

  • ^:文字列先頭
  • $:文字列末尾
  • .:何かしら1文字
  • *:直前の文字の繰り返し
  • |:これで区切ることで、「または」という意味を表す
  • [0-9]:数字


とりあえず導入として上記を覚えておきましょう。それではこれまで使用していた正規表現の例を日本語の文章で、改めて翻訳してみたいと思います。

^sample.jp/25$

【意味】
先頭がsample.jp/25で始まっていて、それ以上文字が続かない文字列

【対象となる文字列】

  • sample.jp/25

^sample.jp/25.$

【意味】
先頭がsample.jp/25で始まっていて、そのあとに1文字続く文字列

【対象となる文字列】

  • sample.jp/250
  • sample.jp/255
  • sample.jp/25a
  • sample.jp/25n

【対象とならない文字列】

  • sample.jp/25000
  • sample.jp/2555

^sample.jp/25[0-9]$

【意味】
先頭がsample.jp/25で始まっていて、そのあとに1文字数字が続く文字列

【対象となる文字列】

  • sample.jp/250
  • sample.jp/255

【対象とならない文字列】

  • sample.jp/25a
  • sample.jp/25n

^sample.jp/25$|^sample.jp/255$

【意味】
①先頭がsample.jp/25で始まっていて、それ以上文字が続かない文字列
または
②先頭がsample.jp/255で始まっていて、それ以上文字が続かない文字列

【対象となる文字列】

  • sample.jp/25
  • sample.jp/255

【対象とならない文字列】

  • sample.jp/2

^sample.jp/25*$

【意味】
先頭がsample.jp/25で始まっていて、その後に5が複数回続いて終わる文字列

【対象となる文字列】

  • sample.jp/25
  • sample.jp/255
  • sample.jp/2555
  • sample.jp/255555

【対象とならない文字列】

  • sample.jp/2555533

^sample.jp/25*

【意味】
先頭がsample.jp/25で始まっていて、その後に5が複数回続いている文字列を含む、文字列

【対象となる文字列】

  • sample.jp/25
  • sample.jp/255
  • sample.jp/2555
  • sample.jp/2555533

【対象とならない文字列】

  • sample.jp/2111555533

^sample.jp/.*

【意味】
先頭がsample.jp/で始まっていて、その後になんでも良い文字が複数回続く文字列

【対象となる文字列】

  • sample.jp/0
  • sample.jp/255
  • sample.jp/25dfefw

【対象とならない文字列】

  • sample.co.jp/21115

正規表現のまとめ

  • 正規表現とは、文字列の別の表現である
  • 1つの文字列に対して、複数の正規表現での表現方法がある
  • 正規表現は便利!
  • アナリティクスやタグマネージャーで大活躍
  • 基本を覚えれば誰でも使える!

特定の複数の記事を正規表現にする際には、取得したcsv一覧の記事idを上手く置換や付け加えてあげる必要があります。

例えば
「/357」→「^/357$」
「/344」→「^/344$」

この際にも、1記事分ずつ手打ちで正規表現にしていくのでは非効率です。テキストエディタを使うことで、一気に作り上げることができます。それについては、この前記事にしているので、こちらも一緒に参考にしてください。

正規表現とは?よく使う置換の「正規表現」まとめ(マーケター向け) - アズメディア|広告とメディアを考える(@_danboooo_ )


よりよい情報を。よりよい効率を。

#Twitterやってます