我有一个哈希表,其中包含一些数学表达式,它看起来像这样:
my %testhash = ("ABC" => "0.05 + 1 + foo",
"DEF" => "2E+5 -3",
"GHJ" => "2E+5 -3 * bar);
在我的代码中,我想评估每个
%testhash
值,但只有有效值(在本例中只有"DEF"
,因为foo
和bar
未定义)。
因此,我需要确定哪些keys %testhash
包含[a-zA-Z]
,除指数符号外。有没有一种优雅的方式可以使用单个正则表达式行来检查这个问题,而不必切割每个值并单独分析?
提前感谢! Alex 编辑: 像往常一样,新手发布问题时没有提供必要的示例数据(对此表示抱歉),所以我将更新哈希表:
my %testhash = ("invalid1" => "0.05 + 1 + foo",
"invalid2" => "2E+5 -3 * bar",
"valid1" => "1.0e-03 + ( 42)",
"valid2" => "((3.0) / 3) * 5",
"valid3" => "2E+5 + 1");