151 正規表現の活用
一定のルールに従った文字列を正規表現で指定する
ページを表すURLやページタイトル、カスタムキャンペーンの内容を表す文字列などは、一定のルールに従って記述されていることが多いと思います。例えば、ECサイトにおける商品詳細ページのURLは、すべて「/products/detail/」を含んでいる、といったルールです。
こうした場合に、一定の条件に該当する文字列だけを対象にできるのが「正規表現」です。正規表現では特殊な意味を持つ記号が使われますが、その記号の意味と使用例は以下の通りです。
Googleアナリティクスでよく使う正規表現
記号 | 意味 | 使用例/記述方法 |
---|---|---|
^ | 次の文字で始まる | サイト内に①「/inquiry/thanks.html」と②「/products/inquiry/thanks.html」というURLが存在するが、①だけを目標として設定したい。 ^/inquey/thanks\.html |
$ | 前の文字で終わる | サイト内に①「/thanks.html」と②「/thanks.html?id=123」というURLが存在するが、①だけを目標として設定したい。 /thanks\.html$ |
. | 任意の1文字 | 「/index.html」にクエリパラメータ「uid」が付いたページだけにフィルタで絞り込みたい。クエリパラメータの値は1文字とする。 ^/index\.html\?uid=. |
* | 直前の文字の0回以上の繰り返し | 「/index.html」にクエリパラメータ「uid」が付いたページだけにフィルタで絞り込みたい。クエリパラメータの値は問わない(値がない場合も含む)。 ^/index\.html\?uid=.* |
+ | 直前の文字の1回以上の繰り返し | 「/index.html」にクエリパラメータ「uid」が付いたページだけにフィルタで絞り込みたい。クエリパラメータは値がない場合は除くが、値があれば問わない。 ^/index\.html\?uid=.+ |
[0-9] | 任意の数字1文字 | 自社のIPアドレスが「123.123.123.010」から「123.123.123.019」まであり、それらすべてを内部トラフィックとして除外したい。 123\.123\.123\.01[0-9] |
[a-z] | 任意のアルファベット1文字(小文字) | キャンペーン名が「R_a_2015」、「R_b_2015」、「R_c_2015」などに一致する項目だけにフィルタで絞り込みたい。「a」「b」「c」は必ず小文字とする。 cpc|organic |
| | 複数のアイテムのいずれか | メディアが「cpc」または「organic」を含む項目だけにフィルタで絞り込みたい。 ^/inquey/thanks\.html |
() | グループ | 「/tv/products/」を含むページ、または「/radio/products/」を含むページだけに絞り込みたい。 ^/(tv|radio)/products/.* |
ポイント
- 上記の記述方法にある「\」は正規表現のエスケープ処理を表し、「\」の次の記号を正規表現として扱いません。例えば「\.」と記述すると、「.」は任意の1文字ではなくドットとなります。
- 正規表現で用いられる特殊な記号は「メタ文字」とも呼ばれます。
アドバンスフィルタやセグメントを効率的に適用するには、正規表現は必須のテクニックです。
本コンテンツは、インプレスの書籍『できる逆引き Googleアナリティクス 増補改訂2版 Web解析の現場で使える実践ワザ 260』を、著者の許諾のもとに無料公開したものです。記事一覧(目次)や「まえがき」は以下のリンクからご覧ください。
- 本書発行時点(2017年11月)の情報に基づいています。
- 本書は2色刷のため、画面はグレースケールとなります。