一千萬個為什麽

搜索

這個Perl正則表達式出了什麽問題?

我有這樣的臺詞

NF419andZNF773 (e=10^-92,). 
ZNF571 (e=2 10^-14,)

什麽是用於提取上述結果的正則表達式,以便它給出

NF419andZNF773 - 10^-92
ZNF571 - 2 10^-14

我試過這個但是失敗了。

$line =~ /(\w+)\s\(e=\s(.*),\)/;
print "$1 - $2\n";

最佳答案

你很接近,你的正則表達式的結尾是失敗的,因為它在指數之前需要空間。嘗試這個:

$line =~/(\w+) \s+ \( e= ([^,]+) /x;

轉載註明原文: 這個Perl正則表達式出了什麽問題?