FavoriteLoading
0

Regular Expression (regex),要成為GA專家一定要懂的正規表示式

在分析數據或是資料的時候,你或許沒辦法直接從既有的篩選器,一次將你想要選擇的內容做全部資料的輸出,此時,學會使用正規表示式,或稱規則運算式(Regular Expression, RegEx) 就很重要了!

類似你在做google?搜尋的時候,會使用一些符號協助你做更精準的搜尋,比如在Google?搜尋技巧終極懶人包,搜索達人必學4?招?這篇文章里面,我們介紹了簡單的符號或是文字,作為你在縮小搜尋范圍時的好幫手。(如下圖)


  • 則運算式也是類似的道理,用電腦能夠理解的語言,透過文字與符號找到你要的資訊,有些和google?搜尋的技巧是重復的。

比方說,你想要找的網頁內容包含facebook 、instagram 的相關內容,就可以透過「與規則運算式相符合」這個功能,facebook|instagram 設定你的條件,而不用再煩惱怎么一次篩選出多個你想要的數據內容。又如最初你在設定網址的時候,可能大小寫的尚未統一一致,有”f”acebook 也有”F”acebook ,那么也可以使用規則運算式來協助資料搜尋:*acebook 、.acebook ?acebok

常見的規則運算式符號在Google的官方指南里分成萬用字元、錨定文字、其他以及分組,你可以不用記得有哪四大分類,但你要記得它們的使用方式。

1. 點【.

簡單來說,點可以代替所有可能的字元(字母、數字或符號)。

比如使用「.GC」,可以匹配的搜尋結果包括U GC(User Generated Content)、O GC(Occupationally Generated Content)、P GC(Professionally Generated Content)或是2 GC、n GC等。

2. ? 【問號】

問號代表的意思是,比對前一個字串或是不比對。比如你在輸入facebook的時候可能不小心book少了一個o,那你使用規則運算式facebo?k,可能匹配的結果包括faceb oo k(包括o)、face bo k(不包括o)。

3. *【星號】

星號表示比對前一個字串零次或是多次。比方你輸入的「sk y* blue」時,星好前面的字元為[y],因此搜尋結果會出現skblue(y出現零次)、sk y blue(y出現一次)、sk yyyy blue(y出現很多次)。

4. + 【加號】

加號跟星號類似,差別在于它至少要與前一個字比對一次或以上。以上一個例子「sky*blue」來說,搜尋結果可能會出現「skblue」,但因為加號強制在前面的符號至少要比對一次,因此如果輸入「sky+blue」,就一定會出現至少一次y:「sk y blue」,其他可能的結果跟輸入星號一樣。

5. |【直線】

跟使用google搜尋引擎類似,規則運算式也有代表「或者」的符號,就是直線。比如你想要搜尋整個網站跟Facebook、Instagram、Wordpress、Google有關的文章之流量,你就可以使用FacebookInstagramWordPressGoogle這樣的進階搜尋,為你想要的結果一次一網打盡。

又或者你有不同的產品,在網址的結尾分別使用thank s或是thank you,那么你也可以用/productname-thank skyou,一次查看完成產品購買的使用者的資訊。

6. 【插入符號】和$【錢字符號】

^插入符號是比對前開頭,$錢字符號則是比對結尾。

比如你輸入的搜尋條件是^eat,那么你會搜尋到的結果會有eateat en;如果是eat$,那么搜尋到的結果可能是cr eat、p eat、l eat。如果你只想要搜尋eat這個字,那么可以使用^eat,這將只鎖定符合「eat」的這個搜尋結果

7. \ 【反斜線】

將任何特殊字元,恢復成一般字元。

可能在搜尋特定網址的時候里面有一個點或者是查找IP的時候也有一個點,可是這個點同時又在規則運算式里面有它自己的功能,為了要讓這個點不受到規則運算的影響(不要使用規則運算里「點」的功能),此時就需要反斜線的幫助。

比如我想找transbiz.com但如果只輸入transbiz.com的時候可能會出現的搜尋結果包括transbiz k com、transbiz z com、transbiz c com??所以為了更精準地找到你想要的結果,在規則運算式里輸入「transbiz\.com」,就會出現transbiz.com了。

基本的講完了以后,再來就是重要的分組符號(括號、方括號、破折號)!透過分組符號你可以更容易找到有規律的字串的所有結果。

8. ( ) 【括號】

括號簡單來說就是把你想要找的相關字詞放在括號里面,它就會依照括號里面的字元排序為你找到可能的結果。比如(sym),你可能搜尋到的結果可能有sym pathy、sym bol、as sym等。

而在使用上它常常會和|(直線)一起搭配使用,比如sy(mn),你可能就會找到syn drome。

9. [ ] 【中括號】

任意比對字串中里面的每個項目。比如你設定[DEFG],那么就會為你找出含有DEFG的相關內容,比如產品類別有A到Z,但你想看DEFG這幾個商品類別的表現,那么就可以用product[DEFG]找到你要的商品:prdocut D、prdocut E、prdocut F、prdocut G

10. – 【破折號】

常常會和中括號[]一起使用,比如product [AK] , product [3-9]就可以分別叫出編號A到K、編號3到9的商品。

在了解了規則運算式的符號了以后,會不會想考驗一下自己關于這些運算式的使用呢?其實你常在使用的Google表單,它背后設計的邏輯也是根據規則運算式,讓google知道使用者究竟有沒有輸入正確的代碼。

除了上面提到的代碼之外,還有一些使用上小技巧的標示符號:

數量標示:標示某個符號或字集被允許出現的次數

  • { } 數量符號
  • {10} 代表10個
  • {10, } 10個或以上
  • {1, 5} 1到5個之間

縮寫:

  • \w= [a-zA-Z]
  • \d =[0-9]
  • + = {1, }
  • ? = {0, 1}
  • * ={0,}

例如:

手機號碼:開頭到結尾都必須是數字,不得有連字符號
^[0-9]{10}$

郵遞區號:5碼數字
^[1-9]\d{4}$

身分證字號:一碼英文大寫搭配9碼數字
^[AZ]\d{9}$

西元出身年月日:以1901/2/28表示
^\d{4}\/\d{1,2}\/\d{1,2}$ 
復雜版^[1-9]\d{3 }\/[1]?\d\/[123]?\d$

為了確認你了解規則運算式,先看看下面的考題看看你是否能選出正確答案:

以下哪個選項表示IP 范圍從192.88.777.1到192.88.777.10

A) 192\.88\.777\.[1-9]10 
B) 192.88.777.[1-10] 
C) ^192\.88\.777\.([1-9]10)$ 
D ) 192\.88\.777\.[1-10]

再來幾題,小試身手

1)用一個字串表達以下網址

transbiz.com.tw/post55688/text 
transbiz.com.tw/post58588/text 
transbiz.com.tw/post25252/text

2)用一個字串表達下列所有IP

192.141.9.3 
192.141.7.3 
192.141.4.3

(3)用一個字串表達下列所有網址

transbiz.com.tw/fb/post01 
transbiz.com.tw/fb/post02 
transbiz.com.tw/fb/post03 
transbiz.com.tw/web/post01 
transbiz.com.tw/web/post02 
transbiz.com.tw /web/post03

解答:
(1)transbiz\.com\.tw/post[0-9]{5}/text 
(2)192\.141\.[1-9]\.3 
(3)transbiz\.com\. tw/(fb|web)/post0[1-3]

RegEx的應用

前面有稍微提到,RegEx能夠協助你在做數據分析的時候,將所有相關的資料調出來。這邊再細部講解一下可能會使用到的情況:

1Google Analytics設定的目標(Goals)

比方說,不論是用者購買了你網站上的哪一個商品、完成了訂房,完成的頁面可能會根據使用者的訂單時間跟商品品項出現如下的網址

book/TypeA/201802061655/success=1 
book/TypeB/201802081742/success=1

若你要區隔出TypeA房型的訂單,那么你在規則運算式的表達就會是

2Google Tag Manager

你在做轉換追蹤的時候可能會因為不同的活動和使用者在網站上的「動作」設定不同的Tag,但如果你想要同時看某種篩選條件下所有的資料結果,省去單項比對的時間時,那么你也會需要使用到RegEx來設定你的GTM。

比方說,你的網頁有不同的語言,而你想要鎖定以英語系為主要國家的使用者,他們造訪你的網站,那么你就可以輸入(US|UK|AU|CA) 這樣的條件,為你一次將這些以英語為主要母語的國家之使用者的行為標記。

其實知道RegEx規則運算式跟能夠應用出來還差一小段路,你可以到regexr.com這個網站檢查你輸入的規則運算式是否有誤,到Jay Taylor整理的規則運算式表單熟悉每一個符號的使用。但如果你還不知道Google Analytics或是Google Tag Manager,還是先把基本知識備足了再來學進階的吧!

尼尼網上賺錢博客,互聯網引流,網絡賺錢。博客地址:www.czv18.com,掃描下面二維碼添加微信:網上賺錢項目和經驗分享,全自動腳本引流課程
網絡兼職賺錢