検索
検索をクリア
検索終了
Google アプリ
メインメニュー
true

正規表現(regex)について

Google アナリティクスは正規表現に対応しているため、ビューフィルタ目標セグメントユーザーリストコンテンツ グループチャネル グループなどの機能で柔軟な指定が可能です。

Google アナリティクスでは、特定の文字列が正規表現として使用され、対象範囲を自在に調整しながら Google アナリティクス データに含まれるパターンに一致させることができます。

たとえば、自社の従業員によるアクセスで発生したサイトデータを除外するビューフィルタを作成するには、従業員が使用する IP アドレスの全範囲を発生元とするすべてのデータを除外する正規表現を使用します。このとき、IP アドレスの範囲が 198.51.100.1~198.51.100.25 の場合、25 個の IP アドレスを入力するのではなく、このアドレス全体に一致する 198\.51\.100\.\d* のような正規表現を作成します。

また、2 つの異なる都市のキャンペーン データのみを対象とするビューフィルタを作成するには、大阪|東京(大阪または東京)のような正規表現を作成します。

正規表現のメタ文字

ワイルドカード

. 任意の 1 文字(文字、数字、記号)に一致します 「1.」で一致するデータ:
10、1A

「1.1」で一致するデータ:
111、1A1

? 直前の文字が 0 回または 1 回も出現する場合に一致します 「10?」で一致するデータ:
1、10

+ 直前の文字が 1 回以上出現する場合に一致します 「10+」で一致するデータ:
10、100

* 直前の文字が 0 回以上出現する場合に一致します 「1*」で一致するデータ:
1、10

| OR 条件を作成します 「1|10」で一致するデータ:
1、10

アンカー

^ 隣接する文字が文字列の先頭である場合に一致します 「^10」で一致するデータ:
10100、10x

「^10」で一致しないデータ:
110、110x

$ 隣接する文字が文字列の末尾である場合に一致します 「10$」で一致するデータ:
110、1010

「10$」で一致しないデータ:
100、10x

グループ化

( ) 囲まれた文字が同じ順序で文字列に含まれる場合に一致します


他の正規表現をグループ化する場合にも使用します
「(10)」で一致するデータ:
10101、1011

「([0-9]|[a-z])」で一致するデータ:
すべての数字と小文字

[ ] 囲まれた文字が任意の順序で文字列に含まれる場合に一致します 「[10]」で一致するデータ:
012、123、202、120、210

- 角かっこ内の文字範囲が文字列に含まれる場合に一致します 「[0-9]」で一致するデータ: 0~9 のすべての数字

エスケープ文字

\ 隣接する文字を正規表現のメタ文字としてではなく通常の文字として解釈するよう指定します 「\.」と指定すると、隣接するドットがワイルドカードとしてではなく、ピリオドや小数点として解釈されます。

216\.239\.32\.34 で一致するデータ:
216.239.32.34

 

ヒント

正規表現はシンプルに作成してください。正規表現がシンプルであれば、他のユーザーが簡単に解釈して変更できます。

バックスラッシュ「\」を使用すると、正規表現のエスケープ文字が通常の文字として解釈されます。たとえば、ドットを IP アドレスの小数点区切りとして使用する際は、ワイルドカードとして解釈されないように、バックスラッシュ(\.)を付けて使用します。

正規表現には、必ずしも正規表現のメタ文字を含める必要はありません。たとえば、インドが発生元のすべてのデータを対象とするセグメントを作成するには、[国]、[正規表現に一致]、「India」の条件でフィルタを作成します。

正規表現は最長一致の特徴があるため、明示的に除外しない限り、指定した内容だけでなく隣接する文字も一致します。たとえば「site」は、「mysite」、「yoursite」、「theirsite」、「parasite」など、「site」を含むすべての文字列に一致します。一致結果を限定する必要がある場合は、それに応じた正規表現が必要です。たとえば、文字列「site」のみに一致させるには、「site」が文字列の先頭かつ末尾であることを示す正規表現「^site$」を作成します。

この記事は役に立ちましたか?
改善できる点がありましたらお聞かせください。