regex - Logstash if 语句与正则表达式示例

标签 regex logstash

谁能告诉我什么是 if带有正则表达式的语句看起来像在logstash中吗?

我的尝试:

if [fieldname] =~ /^[0-9]*$/

if [fieldname] =~ "^[0-9]*$"

两者都不起作用。

我打算做的是检查“字段名”是否包含整数

最佳答案

将其他答案组合成一个有凝聚力的答案。

您的第一个格式看起来正确,但您的正则表达式没有做您想要的。
/^[0-9]*$/火柴:
^ : 行的开头
[0-9]* : 任何数字 0 次或多次
$ : 行尾

因此,您的正则表达式会捕获完全由数字组成的行。要匹配仅包含一个或多个数字的字段,请尝试使用 /[0-9]+//\d+/无论行的其余部分如何,它们都是等效的,并且每个都匹配 1 个或多个数字。

总共你应该有:

if [fieldname] =~ /\d+/ {
   # do stuff
}

关于regex - Logstash if 语句与正则表达式示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42341778/

相关文章:

javascript - 使用 Javascript 正则表达式避免回溯

python - 在单个语句中处理区分大小写和不区分大小写的正则表达式模式

R - 如何分割文本和标点符号但有异常(exception)?

java - [\s\S]* 有什么区别?和 。*?在 Java 正则表达式中?

elasticsearch - Logstash 调度第一次运行

datetime - ElasticSearch 索引问题,无法解析时间戳

运行 Logstash 插件时出现 java.lang.NoSuchMethodError

elasticsearch - ELK的规划能力需要考虑哪些因素?

regex - Vim - sed 像标签或仅在模式内替换

Logstash:解析apache访问日志的时间戳导致解析失败