用于删除 filebeat 中的系统日志日期的正则表达式?
Regular expression to remove syslog date in filebeat?
我想解析一些看起来像
的系统日志行
Oct 20 16:34:59 artguard TTN-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
我想把它们变成
TTN-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
所以我想知道正则表达式应该是什么样子才能让我这样做,因为第一部分每天都会更改,因为它附加在系统日志中。
编辑:为了避免重复,我正在尝试将 REGEX 与 filebeat 一起使用,其中不支持所有正则表达式,如所解释的 here
正则表达式 TTN-\S*
可能是您正在寻找的一种方法,这里是 java-脚本示例。
var value = "Oct 20 16:34:59 artguard TTN-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
var matches = value.match(
new RegExp("TTN-\S*", "gi")
);
document.writeln(matches);
它主要分为两个部分:
- TTN- 匹配 TTN-(显然)
- \S* 匹配任何不是白色的字符-space,尽可能多次这样做。
目前,它总是期望在 TTN 之后有一个“-”,但如果您在正则表达式中用“-{01}”替换“-”,它会期望 TNN 可能是破折号后跟 0-n 个字符那不是白-space。您还可以将 \S* 替换为 \w* 以获取所有字母和数字,或者 .* 以获取除行尾 /n 字符之外的所有字符, TNN-\S*[^\s{2}] 也结束与两个 space 的匹配。希望这对您有所帮助。
Regex101
(TTN-.*$)
已解释
1st Capturing Group (TTN-.*$)
TTN- matches the characters TTN- literally (case sensitive)
.* matches any character (except for line terminators)
* Quantifier — Matches between zero and unlimited times, as many times as possible, giving back as needed (greedy)
$ asserts position at the end of a line
Global pattern flags
g modifier: global. All matches (don't return after first match)
m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)
我想解析一些看起来像
的系统日志行Oct 20 16:34:59 artguard TTN-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
我想把它们变成
TTN-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
所以我想知道正则表达式应该是什么样子才能让我这样做,因为第一部分每天都会更改,因为它附加在系统日志中。
编辑:为了避免重复,我正在尝试将 REGEX 与 filebeat 一起使用,其中不支持所有正则表达式,如所解释的 here
正则表达式 TTN-\S*
可能是您正在寻找的一种方法,这里是 java-脚本示例。
var value = "Oct 20 16:34:59 artguard TTN-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
var matches = value.match(
new RegExp("TTN-\S*", "gi")
);
document.writeln(matches);
它主要分为两个部分:
- TTN- 匹配 TTN-(显然)
- \S* 匹配任何不是白色的字符-space,尽可能多次这样做。
目前,它总是期望在 TTN 之后有一个“-”,但如果您在正则表达式中用“-{01}”替换“-”,它会期望 TNN 可能是破折号后跟 0-n 个字符那不是白-space。您还可以将 \S* 替换为 \w* 以获取所有字母和数字,或者 .* 以获取除行尾 /n 字符之外的所有字符, TNN-\S*[^\s{2}] 也结束与两个 space 的匹配。希望这对您有所帮助。
Regex101
(TTN-.*$)
已解释
1st Capturing Group (TTN-.*$)
TTN- matches the characters TTN- literally (case sensitive)
.* matches any character (except for line terminators)
* Quantifier — Matches between zero and unlimited times, as many times as possible, giving back as needed (greedy)
$ asserts position at the end of a line
Global pattern flags
g modifier: global. All matches (don't return after first match)
m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)