我正在尝试解析具有这种模式的字符串
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