我希望你能够为我提供建议,我正尝试使用Perl的负向前瞻正则表达式来排除目标字符串中的某些内容。
我想要获取不包含-sm、-sp或-sa的字符串。
正则表达式:
hostname .+-(?!sm|sp|sa).+
输入
hostname 9amnbb-rp01c
hostname 9tlsys-eng-vm-r04-ra01c
hostname 9tlsys-eng-vm-r04-sa01c
hostname 9amnbb-sa01
hostname 9amnbb-aaa-sa01c
期望的输出结果:
hostname 9amnbb-rp01c - SELECTED
hostname 9tlsys-eng-vm-r04-ra01c - SELECTED
hostname 9tlsys-eng-vm-r04-sa01c
hostname 9amnbb-sa01
hostname 9amnbb-aaa-sa01c
然而,我得到了下面的实际输出:
hostname 9amnbb-rp01c - SELECTED
hostname 9tlsys-eng-vm-r04-ra01c - SELECTED
hostname 9tlsys-eng-vm-r04-sa01c - SELECTED
hostname 9amnbb-sa01
hostname 9amnbb-aaa-sa01c - SELECTED
请帮助我。
p.s.: 我使用Regex Coach来可视化我的结果。