我试图解析其具有这种模式用perl正则表达式
src [interface_name:source_address[/source_port]]
,其中括号中的部分是可选的字符串捕获可选的字符串。因此,有3种可能的变体
src
src LAN:10.115.1.204
src LAN:10.115.1.204/8080
我想捕捉的接口,从这个字符串源IP和源端口。
我的第三变型正则表达式是
($srcinterface,$srcip,$src_port) = m/^src (.*?):(.*?)\/(.*?)/;
但我不知道如何使所有变种3工作的正则表达式。
编辑 问题的更大的部分是,像src dst信息也从系统收到,我需要重复正则表达式。请参见下面的字符串: -
src dst outside:125.22.32.192
src outside:182.201.183.178 dst outside:125.22.32.192
src outside:182.201.183.178/5525 dst outside:125.22.32.192/8595
在这个新例子中,你需要准确捕捉什么?请,你能给你第二条线所需的所有领域吗? –
@CasimiretHippolyte在第二行我需要'srcinterface,srcip,dstinterface和dstip' ...那里的值应该是'srsinterface = outside,srcip = 182.201.183.178,dstinterface = outside和dstip = 125.22.32.192' ... – aProgrammer