みなさんはGoogle Analyticsでアクセス解析をする際に正規表現を活用していますか?

「正規表現?何それ美味しいの?」
「他の人が使っているのは見たことがあるけど難しそう・・・」

という方が多いのではないでしょうか。記号が出てきて敬遠しがちな正規表現ですが、便利なので是非この機会に正規表現を覚えて他の人と差を付けちゃいましょう!正規表現が分かると上司の評価も上がるかも・・・?
今回は正規表現の中でもGoogle Analyticsで活用できる正規表現に絞ってお伝えします。

正規表現とは「複数の文字列を一つの形式で表すための表現方法」です。
例えば、Tom、Ken、太郎、花子の中からTom とKenだけを検索したいとします。
普通の検索では「Tom」と検索すると「Tom」だけしかでて来ませんし、「Ken」と検索すると「Ken」しか出てこないのでこの2つの単語を同時に検索できません。
しかし、正規表現を使えば異なる文字列をまとめて検索できるのです。

Tom、Ken、太郎、花子の中で Tom、Kenだけに共通する点は何でしょうか?

皆さんも分かるようにTom、Kenはどちらもアルファベット3文字ですよね。

ということはTomとKenは「アルファベットだけの3文字の文字列」という共通の表現で表すことができます。これが正規表現のイメージです。

「アルファベットだけの3文字の文字列」という条件であればTomとKenを同時に検索することができるのです。便利ですね。

 

何でGoogle Analyticsに必要なの?

何となく便利そうだってことがわかったけど、Google Analyticsに何で必要なの?とお思いになる方もいるかもしれませんのでGoogle Analyticsが使える場面を具体的に紹介します。

様々な条件でフィルターをかけられる

Google Analyticsで分析をする際に、特定のページ群だけを対象として分析を行う際に通常の検索では余計なURLが入ってきたり、一部のURLが入らなかったりして検索できないことがあります。しかし、正規表現を使えば過不足なく分析したいページだけに絞ることができます。

複数の目標をまとめることができる

ページによって問い合わせのフォームや完了ページなどの目標を複数設定している場合、正規表現を活用することで一つの目標として計測することで全体の成果が把握しやすくなります。

最初にこれだけは覚えたい正規表現

「 \ 」バックスラッシュ:特別な記号を通常の文字として扱う

環境によっては¥マークの場合もあります。この記号は特別な意味を表す記号を通常の文字として扱いたい時に使う記号です。特にURLの中によく出てくる記号として、「.(ドット)」や「?(クエスチョンマーク)」などがありますが、それらは正規表現では特別な意味を持つ記号です。特別な意味を持つ記号の前にバックスラッシュを入れることで通常の文字として扱うことができるようになります。

/?page=15 を正規表現で表すと/\?page=15 となります。

「 | 」パイプ:OR(もしくは) という意味を表す

複数のものを一緒に検索したい時は「 | 」で繋げることでまとめて検索することができます。例えば犬のカテゴリのページ「/dog/」と猫のカテゴリのページ「/cat/」を検索したい場合は以下のように表すことができます。

/dog/  もしくは /cat/ → /dog/|/cat/

「 ^ 」と「 $ 」:最初と最後を表す

Google Analyticsで「example.com/」というページだけを検索したいとします。ちなみにGoogle Analytics上ではドメインの部分は省略されて表示されるので「/」と表示されます。このページだけを検索するにはどうすればいいでしょうか?そのまま「/」で検索してみると残念ながら「/page」「/colum/car 」など全てのページが出てきてしまいます。というのも全てのページのURLに「/」が含まれるからです。そんな時に役立つのが最初を示す「^」と終わりを示す「$」です。

^/$

 このように最初と終わりを指定してあげれば「/」だけを検索することができます。

これらの記号はパラメーターがついているURLを除外したいという時にも活躍します。
Google Analyticsで検索すると以下のような長いパラメーターがついたURLが出てくることが良くあるのですが、そういったものを除外することもできます。

<パラメータがついたURLの例>
/dog/colum/?fbclid=IwAR0QNEPzwy–DNGHFiNIXqFQ34IPEZ

^/dog/colum/$ と指定すればパラメータがついているURLは出てこなくなります。

「( )」:文字のかたまりを表す

URLの一部だけが異なるURLをまとめて検索したいという場合に便利なのが「( )」です。「( )」で囲まれた部分は1文字とみなされます。例えば猫の食べ物に関するコラムのディレクトリ「/column/cat/food」と犬の食べ物に関するコラムのディレクトリ「/column/dog/food」を一度に検索したい時は、先ほど紹介した「 | 」を使って、

/column/cat/food|/column/dog/food と書くこともできるのですが、

()を使うと /column/(cat|dog)/foodのように共通部分を活かして簡潔に書くことができます

余裕があったら覚えておきたい記号

「 [ - ] 」: 特定の範囲内の1文字

WebサイトのURLに通し番号がふられている場合がありますよね?例えば「/page/form1/  」「/page/form2/ 」「/page/form3/」などです。このような連番に使える正規表現が「[ ]」です。[ ]の中の文字いずれか一つという意味になります。文字の間にハイフンを入れるとその間のアルファベットや数字全てという意味になります。

例えばフォームの2-4だけを取り出したい時は 
/page/form/[2-4]となります。

フォームの3,4,5,8,9を取り出したい時は
/page/form/[3-589]となります。

数字だけでなくアルファベットにも使うことができます。一般的な正規表現では大文字と小文字が区別されますが、Google Analyticsの検索では区別されません。

例)
数字[0-9]
アルファベット大文字[A-Z]
アルファベット小文字[a-z]
半角英数字[0-9a-zA-Z]

▲注意▲
[ ]が表せるのは1文字だけのため、/form/[1-15]のような正規表現は間違いです。
1-15を表したい場合は少し複雑ですが、/form/([1-9]|1[0-5])のような表し方にする必要があります。
(1-9に一致する、もしくは 1桁目が1で2桁目が0-5のいずれか)

「 . 」:任意の1文字を表す

「・」にはあらゆる文字が入ります。ただし「・」に入るのはちょうど1文字でなければならないという決まりがあります。

^.omeはcome や someにはマッチしますがbecomeやomeにはマッチしません。
※「 ^ 」は先頭を表す記号です。

「 * 」「 + 」「 ? 」「 { } 」: 直前の文字を繰り返す

「 * 」「 + 」「 ? 」「 { } 」はいずれも直前の1文字の繰り返しを表します。違いは何かというと「 * 」は0回以上の繰り返し、「 + 」は1回以上の繰り返し、「 ? 」は1回もしくは2回の繰り返し、「 { } 」は繰り返しの回数の最小回数と最大回数を表すとうことです。「{ }」は「{最小回数,最大回数}」という形で回数を指定します。最大値は省略可能です。またちょうどの場合はカンマは入れず{3}のように表します。例えば2回以上4回以下の繰り返しであれば以下のように表せます。

Gre{2,4}n

ちなみにこれは「Green」「 Greeen」 「Greeeen」にマッチします。

Gre*n  = Gre{0,}→ Grn Gren Green Greeen …に一致 

Gre+n = Gre{1,}→ Grn には一致しない Gren Green Greeen…に一致

Gre?n = Gre{0,1}→ Grn、Grenに一致、Green Greeen …には一致しない

これらの記号は先ほど紹介した「 () 」や「 [-] 」などと一緒に使われることが多いです。
例えば数字3文字を表したい場合は[0-9]{3}のように表すことができます。

「 .* 」: 全てに一致

「 .* 」はあらゆる長さのものに一致します。最初と最後だけが決まっていれば全てに一致します。例えば

/.*dog 

という正規表現は以下のいずれにも一致します。
(/から始まってdogで終わる部分を含む文字列)

/dog/
/column/dog/
/dog/health
/bulldog/

まとめ

\ 特別な記号を通常の文字として扱う
| OR(もしくは)
^ 文頭を表す
$ 文末を表す
() 文字のかたまりを表す。()の中は1文字として扱われる
[ – ] 範囲内の1文字
. 任意の1文字
* 直前の1文字の0回以上の繰り返し
+ 直前の1文字の1回以上の繰り返し
? 直前の1文字の0回もしくは1かいの繰り返し
{X,Y} 直前の1文字のX回以上Y回以下の繰り返し
.* 全てに一致

ここまで、様々な正規表現を紹介してきましたが実際にやってみないと正規表現は身につきません。実際に正規表現を使って検索をしたりビューを作って是非自分の思い通りにGoogleアナリティクスのフィルターをカスタマイズしてみてください。

次回は正規表現を用いた実際の活用例に関して解説したいと思います。