[英]Extract second IP address in expression
我想使用regex從以下表達式中提取第二個IP地址( DST
值):
kernel: DROP IN=eth0
OUT= MAC=80:8d:8b:83:85:d0:f2:fc:bc:88:3e:f3:08:00
SRC=111.111.111.111
DST=222.222.222.222
LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=10520 DF PROTO=TCP
SPT=43219 DPT=10051 SEQ=4284041495 ACK=0 WINDOW=14600
RES=0x00 SYN URGP=0 OPT (020405B40402080A7F8A63E80000000001030306)
我使用以下正則表達式提取SRC
:
^.+?((?:\d+\.){3}\d+).+$
我無法找出提取第二個IP( DST
)所需的表達式
像這樣重復兩次,就可以了
^.+?((?:\\d+.){3}\\d+).*?((?:\\d+.){3}\\d+).+$
但是可以捕獲所有IP地址的更好的正則表達式是
((?:\\d{1,3}\\.){3}\\d{1,3})
似乎您試圖匹配IP地址中的句點,但您忘記了轉義它們。
沒必要,但是可以使用{1,3}
代替+
來限制與數字匹配的次數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.