正規表達式
神策分析各項功能均支援正規表達式,用戶可以利用正規表達式進行靈活的屬性篩選。
正規表達式是對字串進行操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字串”,這個“規則字串”用來表達對字串的一種過濾邏輯。
例子
神策官網設有 文件 頻道,該頻道下的頁面地址範例如下:
- 介紹頁面:https://www.sensorsdata.cn/manual/
- 功能介绍:https://www.sensorsdata.cn/manual/features.html
- 事件分析:https://www.sensorsdata.cn/manual/event_ana.html
可以看到,文件頻道下的頁面地址有個規律,即均以https://www.sensorsdata.cn/manual/ 開頭。
所以,當我們想要看文檔頻道下的整體頁面瀏覽數時,可用如下用正規表達式進行匹配:
/manual/.*
正規表達式語法
上述表達式中的.
和*
是正規表達式中所使用的特殊字符中的兩個。其他正規表達式字元釋義如下:
萬用字元
字元 | 含義 | 範例 |
---|---|---|
. | 匹配任何單個字元 | sens.ors 與 sensoors 、sens8ors 匹配 |
* | 匹配0個或多個先前項 | 預設的先前項是前一個字符。 |
+ | 與星號的用法一樣,只不過加號至少必須匹配一個先前項 | sens+ors 與 senssors 匹配,但是與 senors 不匹配 |
? | 匹配0個或1個先前項 | labou?r 與 labor 和 labour 匹配 |
∣ | 執行“或”匹配 | a∣b 匹配 a 或 b |
定位
字元 | 含義 | 範例 |
---|---|---|
^ | 要求您的數據位於字串開頭 | ^sensors 與 sensors 匹配,與 mysensors 不匹配 |
$ | 要求您的數據位於字串末尾 | sensors$ 與 sensors 匹配,與 sensorscan 不匹配 |
分组
字元 | 含義 | 範例 |
---|---|---|
() | 使用圓括號建立項,而不使用預設項 | Thank(s∣you) 與 Thanks 和 Thankyou 都匹配 |
[] | 使用方括號建立要匹配的項列表 | [abc] 匹配a 、b 和 c |
- | 使用方括號和短劃線來擴展您的列表 | [A-Z] 表示英語大寫字母的列表 |
轉義
字元 | 含義 | 範例 |
---|---|---|
\ | 將正規表達式字元轉換為普通字元 | sensorsdata\.cn 這一表達式中的. 不再是萬用字元 |