我想解析一些他们看起来像
的系统日志行Oct 20 16:34:59 artguard TTN-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
我想把它们变成
TTN-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
所以我想知道正则表达式应该如何允许我这样做,因为第一部分每天都会改变,因为它被syslog附加。
编辑:为避免重复,我尝试将REGEX与filebeat一起使用,其中不支持所有正则表达式,如here所述
答案 0 :(得分:1)
正则表达式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之后,但如果你重申“' - '用' - {01}'在正则表达式中,它会期望TNN可能是一个破折号,后跟0-n字符不是白色空格。您还可以用\ w *替换\ S *来获取所有字母和数字或。*以使所有字符与行尾/ n字符分开,TNN- \ S * [^ \ s {2}]也结束匹配两个空格。希望这有用。
答案 1 :(得分:1)
(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)