-3

我有一个正则表达式如下:

"id.resp_h"|"rx_hosts":(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}),

我正在尝试从两个不同的日志样本中提取源 IP 地址。“id.orig_h”和“tx_hosts”是源 IP 的两个不同字段。我如何忽略语音标记和方括号?我只想提取IP地址

schema_id=17127524534057985804:skip_writers="":{"_path":"conn","_system_name":"hostname","_write_ts":"2020-01-12T22:09:28.853417Z","ts":"2020-01-12T22:07:14.642074Z","uid":"Cm4cbmvRjlmd2I52c","id.orig_h":"192.168.1.1","id.orig_p":xxx,"id.resp_h":"192.168.1.2","id.resp_p":xxx,"proto":"udp",

schema_id=17223896091372211545:skip_writers="":{"_path":"files","_system_name":"Hostname","_write_ts":"2020-01-12T22:09:00.016260Z","ts":"2020-01-12T22:07:14.108217Z","fuid":"FnmzOv3Fkhr8lP0qL","tx_hosts":["192.168.1.1","192.168.1.1"],"rx_hosts":["192.168.1.10"],

任何帮助将不胜感激:-)

谢谢,JM

4

1 回答 1

0

如果你想用正则表达式解决它,试试这个:

(?:"id.resp_h"["[:] |"rx_hosts"["[:] )(\d{1,3}.\d{1,3}.\d{1,3}.\d {1,3})

这里

于 2020-01-19T09:53:47.690 回答