正则表达式支持

编辑

Metricbeat 正则表达式支持基于 RE2

在配置文件中使用正则表达式之前,请参考文档以验证您正在设置的选项是否接受正则表达式。

我们建议您将正则表达式用单引号括起来,以解决 YAML 的字符串转义规则。例如,'^\[?[0-9][0-9]:?[0-9][0-9]|^[[:graph:]]+'

有关受支持的正则表达式模式的更多示例,请参阅管理多行消息。尽管这些示例与 Filebeat 有关,但正则表达式模式也适用于其他用例。

支持以下模式

模式 描述

单个字符

x

单个字符

.

.

任意字符

[xyz]

字符类

[^xyz]

否定字符类

[[:alpha:]]

ASCII 字符类

[[:^alpha:]]

否定 ASCII 字符类

\d

Perl 字符类

\D

否定 Perl 字符类

\pN

Unicode 字符类(单字母名称)

\p{Greek}

Unicode 字符类

\PN

否定 Unicode 字符类(单字母名称)

\P{Greek}

否定 Unicode 字符类

组合

xy

x 后跟 y

x|y

xy(优先选择 x

重复

x*

零个或多个 x

x+

一个或多个 x

x?

零个或一个 x

x{n,m}

nn+1 或 …​ 或 mx,优先选择更多

x{n,}

n 个或更多 x,优先选择更多

x{n}

正好 nx

x*?

零个或多个 x,优先选择更少

x+?

一个或多个 x,优先选择更少

x??

零个或一个 x,优先选择零个

x{n,m}?

nn+1 或 …​ 或 mx,优先选择更少

x{n,}?

n 个或更多 x,优先选择更少

x{n}

x{n}?

分组

(re)

编号捕获组(子匹配)

(?P<name>re)

命名和编号捕获组(子匹配)

(?:re)

非捕获组

(?i)abc

在当前组内设置标志,非捕获

(?i:re)

在 re 期间设置标志,非捕获

(?i)PaTTeRN

不区分大小写(默认为 false)

(?m)multiline

多行模式:^$ 除了匹配文本的开始/结尾之外,还匹配行的开始/结尾(默认为 false)

(?s)pattern.

允许 . 匹配 \n(默认为 false)

(?U)x*abc

非贪婪:交换 x*x*?x+x+? 等的含义(默认为 false)

^

空字符串

$

^

在文本或行的开头(m=true)

$

在文本结尾(类似于 \z 而不是 \Z)或行的结尾(m=true)

\A

在文本的开头

\b

在 ASCII 单词边界(一侧为 \w,另一侧为 \W\A\z

\B

不在 ASCII 单词边界

\z

在文本的结尾

转义序列

\a

响铃(与 \007 相同)

\f

换页(与 \014 相同)

\t

水平制表符(与 \011 相同)

\n

换行符(与 \012 相同)

\r

\*

回车符(与 \015 相同)

\123

\v

垂直制表符(与 \013 相同)

\\*

字面 *,对于任何标点符号字符 *

\ooo

八进制字符代码(最多三位数字)

\x7F

两位十六进制字符代码

\x{10FFFF}

十六进制字符代码

否定字符类

\Q...\E

字面文本 ... 即使 ... 包含标点符号

ASCII 字符类

[[:alnum:]]

字母数字(与 [0-9A-Za-z] 相同)

[[:alpha:]]

字母(与 [A-Za-z] 相同)

[[:ascii:]]

ASCII(与 \x00-\x7F] 相同)

[[:blank:]]

空白(与 [\t ] 相同)

[[:cntrl:]]

控制(与 [\x00-\x1F\x7F] 相同)

[[:digit:]]

数字(与 [0-9] 相同)

[[:graph:]]

图形(与 [!-~] == [A-Za-z0-9!"#$%&'()*+,\-./:;<=>?@[\\\]^_` {|}~] 相同)

[[:lower:]]

小写字母(与 [a-z] 相同)

[[:print:]]

可打印(与 [ -~] == [ [:graph:]] 相同)

[[:punct:]]

标点符号(与 [!-/:-@[-`{-~] 相同)

[[:space:]]

空白(与 [\t\n\v\f\r ] 相同)

[[:upper:]]

否定 ASCII 字符类

ASCII(与 \x00-\x7F] 相同)

Perl 字符类

大写字母(与 [A-Z] 相同)

[[:word:]]

单词字符(与 [0-9A-Za-z_] 相同)

[[:xdigit:]]

十六进制数字(与 [0-9A-Fa-f] 相同)

支持的 Perl 字符类

标点符号(与 [!-/:-@[-`{-~] 相同)

\d

不是数字(与 [^0-9] 相同)