正则表达式

最后更新于:2016-11-14 15:07:55

神策分析各项功能均支持正则表达式,用户可以利用正则表达式进行灵活的属性筛选。

正则表达式是对字符串进行操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

例子

神策官网设有 文档 频道,该频道下的页面地址示例如下:

可以看到,文档频道下的页面地址有个规律,即均以https://www.sensorsdata.cn/manual/ 开头。

所以,当我们想要看文档频道下的整体页面浏览数时,可用如下用正则表达式进行匹配:

/manual/.*

正则表达式语法

上述表达式中的.*是正则表达式中所使用的特殊字符中的两个。其他正则表达式字符释义如下:

通配符

字符 含义 示例
. 匹配任何单个字符 sens.orssensoorssens8ors 匹配
* 匹配0个或多个先前项 默认的先前项是前一个字符。sens*orssenorssenssors 匹配
+ 与星号的用法一样,只不过加号至少必须匹配一个先前项 sens+orssenssors 匹配,但是与 senors 不匹配
? 匹配0个或1个先前项 labou?rlaborlabour 匹配
执行“或”匹配 a∣b 匹配 ab

定位符

字符 含义 示例
^ 要求您的数据位于字段开头 ^sensorssensors 匹配,与 mysensors 不匹配
$ 要求您的数据位于字段末尾 sensors$sensors 匹配,与 sensorscan 不匹配

分组

字符 含义 示例
() 使用圆括号创建项,而不使用默认项 Thank(s∣you)ThanksThankyou 都匹配
[] 使用方括号创建要匹配的项列表 [abc] 匹配abc
- 使用方括号和短划线来扩展您的列表 [A-Z] 表示英语大写字母的列表

转义

字符 含义 示例
\ 将正则表达式字符转换为普通字符 sensorsdata\.cn 这一表达式中的.不再是通配符