正则表达式
最后更新于:2016-11-14 15:07:55
神策分析各项功能均支持正则表达式,用户可以利用正则表达式进行灵活的属性筛选。
正则表达式是对字符串进行操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
例子
神策官网设有 文档 频道,该频道下的页面地址示例如下:
- 介绍页面:https://www.sensorsdata.cn/manual/
 - 使用文档:https://www.sensorsdata.cn/manual/use_guide.html
 - 事件分析:https://www.sensorsdata.cn/manual/event_ana.html
 
可以看到,文档频道下的页面地址有个规律,即均以https://www.sensorsdata.cn/manual/ 开头。
所以,当我们想要看文档频道下的整体页面浏览数时,可用如下用正则表达式进行匹配:
/manual/.*
正则表达式语法
上述表达式中的.和*是正则表达式中所使用的特殊字符中的两个。其他正则表达式字符释义如下:
通配符
| 字符 | 含义 | 示例 | 
|---|---|---|
. | 
匹配任何单个字符 | sens.ors 与 sensoors、sens8ors 匹配 | 
* | 
匹配0个或多个先前项 | 默认的先前项是前一个字符。sens*ors与 senors、senssors 匹配 | 
+ | 
与星号的用法一样,只不过加号至少必须匹配一个先前项 | 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 这一表达式中的.不再是通配符 |