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
私を助けてください。
ps: 結果を視覚化するために正規表現コーチを使用しました。