这是模式:
((?<active>\*\s)*(fcid\s(?<fcid>0x[0-9a-f]{6})\s)*\[)?pwwn\s(?<pwwn>(([0-9a-f]{2}:){7})[0-9a-f]{2})(]\s\[(?<alias>\w*))*
这是可能的输入 - 每一个都是一行:
1/ *fcid 0xce36c3 [device-alias N2F07D08]
2/ pwwn c0:50:76:04:52:7e:00:2b [ARAH2KDBP04_STA_2b]
3/ *fcid 0x19176a [pwwn c0:50:76:04:52:7e:00:2a] [ARAH2KDBP04_STA_2]
它目前匹配第 2 行和第 3 行。我也需要它来匹配第一行。我在将第二行中的内容作为可选内容时遇到问题。如果我尝试将其设为可选,则最后两行也不匹配。我知道我在模式中没有任何内容与设备别名行匹配,但我试图首先将第二行中的输入作为可选输入。