Vector 中的正则表达式 Regular Expressio

2024-01-28  本文已影响0人  偷油考拉

一、Vector.dev - Literal expressions

与大多数其他语言一样,在VRL中,字面量即 正如被字面意思解释的那样,被写入的值
字面量包括字符串布尔值整数等。

Literal URL
array https://vector.dev/docs/reference/vrl/expressions/#array
boolean https://vector.dev/docs/reference/vrl/expressions/#boolean
float https://vector.dev/docs/reference/vrl/expressions/#float
integer https://vector.dev/docs/reference/vrl/expressions/#integer
null https://vector.dev/docs/reference/vrl/expressions/#null
object https://vector.dev/docs/reference/vrl/expressions/#object
regular-expression https://vector.dev/docs/reference/vrl/expressions/#regular-expression
string https://vector.dev/docs/reference/vrl/expressions/#string
timestamp https://vector.dev/docs/reference/vrl/expressions/#timestamp

什么是 Literal expressions?
Literal - 字面量。可以翻译为 字面量表达式
关于字面量参考如下文章:
https://baike.baidu.com/item/%E5%AD%97%E9%9D%A2%E/8500322
https://www.jianshu.com/p/4e72452d6771

二、Vector.dev - regular-expression

正则表达式字面理解,就是用于字符串匹配和解析的 Regular Expression
正则表示以 r 印记定义,并使用单引号包含 (r'...')。引号内的值使用 Rust 正则语法

范例:

r'^Hello, World!$'
r'(?i)^Hello, World!$'
r'^\d{4}-\d{2}-\d{2}$'
r'(?P<y>\d{4})-(?P<m>\d{2})-(?P<d>\d{2})'

特征 characteristics

Enum options

Option Description
U Swap the meaning of x* and x*?
i Case insensitive
m Multi-line mode
s Allow . to match
u Unicode support (enabled by default)
x Ignore whitespace

如下范例:

r'(?P<y>\d{4})-(?P<m>\d{2})-(?P<d>\d{2})'

y, m, and d keys 抓取。

上一篇下一篇

猜你喜欢

热点阅读