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.imnini.com,扫描下面二维码添加微信:网上赚钱项目和经验分享,电子书、网赚视频,各种付费视频分享
网络兼职赚钱