私の正規表現は、私が何をしても、行の最後のアルファベット文字セットと一致します。最初の出現のみに一致させたい。
貪欲でない演算子を使用してみましたが、それは頑固に右端のアルファ文字セットに一致します。この場合、$1 に値「Trig」を与えますが、これは私が望むものではありません。$1 を「02.04.07.06 Geerite」にしたい。
コード
elsif ($line =~ /\s(\d{2}\.\d{2}\.\d{2}\.\d{2}\s[[:alpha:]]*?)/)
{
print OUTPUT "NT5 " . $1 . " | | \n";
}
ソース
02.04.07.06 Geerite Cu8S5 R 3m、R 3m、または R 32 Trig
出力
NT2 32 トリガー | | |
つまり、次の出力が必要です。
NT2 02.04.07.06 ゲーライト | | |