正規表示式(Regular Expression)應用於Google analytics

Regular Express正規表示式
圖片來源:Flickr

利用Google Analytics篩選器搭配正規表示式整合網址參數一文中曾經提到正規表示式在篩選器進階區隔的功用
在網路上也有很多介紹RegEX的資源

LunaMetricsRobbin Steif 寫了一份有關GA常用的正則式表達,相當值得參考:
PDF檔在此:Regular Expressions for Google Analytics

Google Analytics的正規表示式運用


1. 反斜線 "\":

將任何(包括符號)字元皆視為字串,故當你的網址帶有問號等參數時便派的上用場
可將網址置換成你想取代的文字或網頁標題,協助報表閱讀
若你的設定網頁為/folder\?pid=123
利用篩選器搜尋與取代,將/folder\?pid=123置換為Contact Us

2. 直線 "|":

相當於OR,當有兩個網址但要設定為同一目標時,可以使用該符號
若你有thanks.php, 另一個網頁為confirmation.php時
目標網址可填(thanks|confirmation)

3. 問號 "?":

比對問號前的一個字符出現0次或1次
例如比對Robb?in的話,Robin與Robbin都會比對成功
可以用於比對關鍵字,你可以在篩選器或進階區隔內用來篩選特定關鍵字帶來的流量
也可以搭配前面的直線符號
例如:(11?11|人力銀行)

4. 括弧"()"

與數學裡面括弧的功用相同,括弧裡的先計算
/folder(one|two)/thanks,則/folderone/thanks/foldertwo/thanks比對成功
但/ folderonetwo/thanks比對失敗
括弧主要也是用於網頁網址的比對
如果你想在/thanks、/thankyou及/thanksalot 中比對出/thanks及/thanksalot
就必須用到括弧以及前面的問號:/ thanks(alot)?
P.S.:注意如果是/thanks? 的話,由於s有沒有皆可,故三個都會被比對出來!

5.  中括弧"[]"

代表符合中括弧裡任何一字元,例如[Davis]就是D,a,v,i,s,但Da或avi不符合
也可以表示一段範圍,例如[1-9], [A-Z]
如果你的商品型號有帶有這種數字或符號的流水號,而剛好它們有出現在URL或網站標題上就可以使用
譬如想找sneaker450到458之間的商品型號,就可以在要求URL(或網頁標題等)打上sneaker45[0-8]
或是可以做為過濾內部IP之用,若組織內部IP範圍為163.13.1.10~163.13.1.19(假設)
就可以打上163\.13\.1\.1[0-9]

6. 大括弧 "{}"

比對前一字元可出現的範圍,直接看例子比較能懂
通常會以{x,y}表示,x代表最少出現幾個,y代表最多出現幾個
若只有{x},那就代表只能出現x個
例如123\.145\.167\.[0-9]{1,2} 代表[0-9]可出現1~2個字符,因此123.145.167.1~123.145.167.99都能夠比對成功

7.點號"."

代表任一字元。
若要表示123.45.67.250 到 123.45.67.255 的IP範圍
你可以用123\.45\.67\.25. 表示
當然你也可以使用上面提過的中括弧
123\.45\.67\.25[0-5] 表示
(以上的IP位置表示方法,因為要將點號視為字串,故須加上反斜線\)

8.加號"+"

代表前一字元必須出現一次或多次
比方Aaa+rgh!,能與aargh!、 aaargh! 和 aaaaaaaaargh!比對成功
aa與r直接出現幾個字符都可以,但一定要出現
所以若是Aarh!的話就會比對失敗了

9.星號"*"

跟上面的加號幾乎一模一樣,唯一的差距就是它可以出現0次到多次
以上面的例子來看,aargh!、 aaargh! 和 aaaaaaaaargh! 星號也會比對成功之外
就連Aarh!都能比對成功

10. 點號加星號".*"

這也滿常見的,基本上就是everything
如果有個正則式為 /folderone/.*index\.php
其實就是代表folderone底下中間要在放什麼都無所謂,但結尾一定是index.php
另一個例子是可以用在進行報表判讀的情況,例如在做跨網域追蹤時,由於報表只會顯示網址,故需利用進階篩選器做些調整,讓完整的網址能顯示在報表上
詳細做法可以參考跨網域追蹤

11. Caret"^"(不知道中文名叫什麼...)

表示開頭,例如 ^/pdf,表示以 /pdf 這個目錄為開頭的網址皆會被比對到
例如 www.test.com/pdf/aa.html, www.test.com/pdf/abc/asd.html
但要注意的是GA在判讀時會以.com, .net等一級域名之後開始算
故當使用這個符號時要確保這個網址是在一級域名下的第一層級目錄
例如上述的/pdf, 若它是隸屬於/abc之下(www.test.com/abc/pdf)
那麼www.test.com/pdf/abc/asd.html 將不會被比對出來

12. 金錢符號"$"

表示結尾,如果僅表示首頁(通常都用一個反斜線/表示)
就可以在正規表示式中使用^/$(但不知道為什麼我在篩選器中設定條件網頁包含^/$,仍然跑出其他結尾是.html的頁面?)
此外要注意的是如果網址後方帶有參數,就算用^/$也不會被比對出來
以上正規表示式大部分的用途還是在網址與IP的設置上
故主要是以限制條件、目標設定等用途為主
當然也可以用來作關鍵字條件的設定
主要還是要看分析者的目的與需求如何決定了
這邊大致說明用途,詳細一點的話還是請看PDF檔的內容吧

張貼留言