与えられたテキスト
my $line = "[cytokine]<ADJVNT-PROP-0> signaling, which have not [to]<PREP> date been shown [to]<PREP> be [[regulat]<EXP-V-0>ed]<EXP-PP-V-0>";
my $line2 = "[Human [papillomavirus]<VACC-PROP-0>]<VACC-PROP-0> genotype [31]<NUM> does not [express]<EXP-V-0> detectable [microRNA]<MIR-0> levels [during]<PREP> latent or productive virus replication.";
私がやりたいのは、<XXX>
これを引き起こしていないものをすべて削除することです:
Output 1: <ADJVNT-PROP-0><PREP><PREP><EXP-V-0><EXP-PP-V-0>
Output 2: <VACC-PROP-0><VACC-PROP-0><NUM><EXP-V-0><MIR-0><PREP>
しかし、なぜこの正規表現は失敗したのでしょうか? それを行う正しい方法は何ですか?
s/[^<.*>]//g
これは完全なコードと実行可能ファイルです: https://eval.in/50996