正規表現はウェブアナリストの武器
Googleアナリティクスでは、正規表現を使用したデータ集計はとても便利です。
正規表現を使うことで、例えば、パラメータだけが違う何百ものURLを束ねて集計が可能となります。
正規表現を知らない場合、このようなデータの収集効率と精度はなかなかあがりません。
解析アナリストとしても、正規表現を確実に抑えておく必要があります。
特殊文字(メタ文字)
◆文末を定義する $
アドバンスフィルタ(右上赤枠)で、「タグマネージャ」と検索してみます。
すると、タグマネージャという文言が含まれるページが部分一致で表示されます。
マネージャ/ でピッタしにおわるページのみをデータ取得するにはどうしたらよいでしょうか?
①アドバンスフィルタ機能>正規表現一致を選択
②タグマネージャ/$ と入力
意味:$ は、文末であることを意味する正規表現上での特殊文字(メタ文字)です。
これにより、タグマネージャのあとの文末がスラッシュで終わるページだけをフィルタリングできました。
◆先頭を定義する ^
アドバンスフィルタに / を入力した場合、
/を含むページがすべてフィルタリングされてきます。
それでは、/(スラッシュ)一文字のページだけを抜き出すにはどうしたらよいでしょうか。
下記の図のように^/$を指定すれば大丈夫です。
◆または、 を意味する | (パイプ)
タグマネージャ/でピッタし終わるページと、/info/2015/08/14を含むページのみを抜き出すには
どうしたらよいでしょうか?
ちなみに、AND(かつ)でフィルタリングする場合は、すなおに、AND条件を使ってください。
むずかしく考える必要はありません。
また、”一致”と表示されているプルダウンに”除外”といった選択肢が用意されております。
除外を選択して使用した場合は、正規表現パターンに一致した文字列が除かれます。
※Googleアナリティクスでは、否定的先読み表現という正規表現が使えません。例)^(?!https).*
Googleアナリティクスでは、ほかに
数字を表す \d (円マークと数字を意味するd) という特殊文字があります
products.php?num=999999
products.php?num=88888a
numが数値のものだけを抜き出すには、
num=\d+$とすれば、
products.php?num=999999が抽出できます。
◆その他、正規表現上の特殊文字の種類
. ドット
: 空文字列を含む、任意の一文字
\s 円s
: 空白文字1文字
^ べき乗
: 先頭を表す
$ ドル
: 行末を表す
\w 円ダブリュー
: 単語構成文字(英大文字小文字および、数字)
\d 円ディー
: 数字1文字
* アスタリスク
:直前の文字の0回以上の繰返し
例) .* ドットとアスタリスク : 任意の一文字を0回以上繰り返す、つまり全文一致
+ プラス : 直前におかれている文字の1回以上の繰返し
例) .+ ドットとプラス :任意の文字を1回以上繰り返す
? 直前の要素の0回または、1回の出現を表す。繰り返しではない点に注意。
例) AA? エーエーはてな : Aもしくは、AAにヒットするが、AAAにはヒットしない。要注意!
[] カッコ
:文字クラス([]の中の文字のいずれかに一致する
例) [ABCDE] A~Eのいずれかに一致させる。[A-E]でも同じ意味。
[^ABCDE] カッコの中の^は、ABCDE以外を指す。先頭を表す^とは別の意味になる。
以上のように、正規表現を上手に使えるようになると、
データ収集が楽になるだけでなく、正規表現を用いないと収集できないデータ収集にも対応できるようになります。
他にも、アドバンスセグメントや目標設定時にも威力を発揮します。
下記で紹介する2冊の良書をお勧めします。しっかりと身につけてみてください。
正規表現の学習でお悩みの方は弊社講座をご受講ください。
Googleアナリティクスのための正規表現セミナー(3.0h)