前回のGA初心者の投稿の後、WendyWがGAIQスタディガイドの正規表現部分について質問してきました。 7947>
正規表現に慣れていない人のために説明すると、正規表現はテキスト、数字、記号などの文字列をマッチングするためのシステムです。 コマンドは Regex 言語で記述され、次に、指定に一致するテキストを識別する regex プロセッサによってマッチングされます。 多くのメモ帳アプリケーションには検索/置換システム用の正規表現プロセッサが組み込まれており、htaccess はそれを大いに活用しています。
本日は、正規表現の基本を説明し、Google Analytics でそれを使用してレポートやフィルタなどを拡張する方法を紹介したいと思います。
目次
- 正規表現の言語
- 正規表現と Google Analytics でできること
- 正規表現をテストするツール
パート 1: 正規表現の言語
正規表現のコマンドは、どれだけ「言語」を使用するかで、シンプルなものから信じられないほど充実した機能までさまざまに変化します。 以下は、正規表現用語の膨大なセレクションです(完全ではありません):
. ピリオドはワイルドカードです。
+ : 前の文字を1回以上繰り返す。
* : 前の文字を0回以上繰り返す。
() : 括弧は「トークン」またはルール要素の集合を表す。 例えば、(.+)は任意の文字の集合にマッチします。 これにより、グループ全体に対して演算子を適用することができます。 例えば、”what” という単語にマッチさせたい場合は “what” と入力するが、”whatwhat” もキャッチさせたい場合は “(what)+” を使用する。
括弧はまた、多くの正規表現エンジンにおいて “quot” で呼び出すことができる「後方参照」 を作る。 例えば、aからtまでの小文字にマッチします。また、文字、数字、スペース、ハイフン、数字記号、引用符、等号のいずれかにマッチするように、括弧の中に複数の項目を持つことができます。 (Yes, this would be better written , but I was making a point about ranges)
{} : カーリーブラケットは奇妙です。 繰り返しを定義しているのです。 ですから、(what){2} は what (whatwhat) の2つの繰り返しにしかマッチしません。 代わりに、(what){2,7}はwhatの2回から7回の繰り返しを数える(3回、4回、5回、6回を含む)
d : 任意の数字を表す
s :数字を表す: 任意の空白要素(スペース、タグなど)を表す
w : 任意の英数字またはアンダースコアを表す
$ : ドル記号は文字列の末尾に一致する。 htaccessでは、以前に括弧で定義されたセットを呼び出すためにも使われます。
^ : ニンジンは2つの用途があります。 文字列の先頭にマッチさせるだけでなく、文字集合の中の文字を否定することができる。 つまり、^$は小文字のアルファベット1文字で始まり、終わる文字列にのみマッチし、(^)は小文字以外の文字を含まない文字列にもマッチする。
– : ハイフンは範囲を指定します。 例えば、a-zはaからzまでのすべての文字にマッチする(ただし、大文字はマッチしない)
| : バーは「または」を意味する。
: スラッシュは「文字通り」という意味。 つまり、”. “はどんな文字にもマッチしますが、” \. “はピリオドにのみマッチします。 同様に、”? “は文末にマッチしますが、”? “はクエスチョンマークにマッチします。 正規表現の特定の実装(例: メモ帳 ++)では、スラッシュは、以前に括弧で定義された領域を繰り返すために数字と共に使用することもできます (htaccess の $1, $2, などと同じ).
? これを含むか含まないかの文字列にマッチします。 例えば、”? Howe st” は “1080 Howe st.” または “Howe st.” にはマッチしますが、”64 Howe st.” にはマッチしません。一方、” 64?” は “6” または “64” にはマッチします。 クエスチョンマークはまた、式を「怠惰」にするという2つの目的もある(通常、正規表現は貪欲である)。 欲と怠惰は(実生活でも正規表現でも)頭が痛くなるので、これは LunaMetrics に任せます(良い欲と悪い欲)
全部覚えた? してない?
Part 2: Regex と Google Analytics でできること
さて、構文がわかったところで、それを使って何ができるのでしょうか。
Image Search
Ani Lopez のブログに、正規表現を使って画像検索のフィルタ/カスタムセグメントを作成できる素晴らしい例があります。 これをテストするには、GA を開き、トラフィックソースを開き、ソースタブに移動し、(ソースの代わりに)参照パスを選択します。
このレポートの下部で、フィルタを開き、次の文字列を入力します:
正規表現を覚えている場合、上記の文字列はどういう意味でしょうか? ^ = 行頭; | = または; () = 集合; だから (太字の単語は記号に一致):
line begins with ‘/imgres’ or ‘/images/view’ or ‘/images/search’.
Keywords
ある Darcy による書き込みに感謝して、多くの人々が自分の Facebook 写真/プロファイルを見ている人を見つける方法について調べられます。 また、コンバージョン(または単なるゴミトラフィック)かどうかも知りたいので、次のキーワードフィルターで分類することができます。
‘viewed’ または ‘looking’ または ‘looked’ または ‘looks’ または ‘copied’ または ‘viewing’ を含み、任意の回数の英数字、空白またはハイフンを繰り返し、その後に ‘face’ と任意の空白、そして ‘book’ があるすべての行にマッチします。
IP フィルタ
ネットワークに 123.456.789.1 から 123.456.789.999 の IP 範囲があり、オフィス内からのサイトへの訪問とインタラクションを GA にカウントさせたくないとしましょう。 フィルタでブロック
するか、もっと正確に言うなら&hellip
前者では 123.456.789. から 123.456.789. まですべての IP 範囲をブロックすると述べていますが、もっと面白いことにしましょう。 例えば、64.281.31.1 から 64.281.31.999 の IP 範囲があるとします。
上記の例を見て、
or
と書いたのなら、それは間違っています。
なぜかというと、それは 164.281.31.1 にもマッチするからです。 そうです、文字列の前の数字もカウントされるのです! したがって、次のように記述する必要があります:
Part 3: 正規表現をテストするツール
正規表現は複雑な場合があり、適用する前にテストしたくなるものです。
- 最初のものは RegexPal で、テキストを入力してその上で正規表現ルールをテストできます。
- 2番目のものは RegExr で、Rengexpal よりも複雑なインターフェイスですが、参照と正規表現コマンドの保存オプションも提供します。
GA で Regex を想像力豊かに使用できることを確信しています。