我正在嘗試錯誤檢查字串 $price 的格式
該字串將以貨幣符號開頭。 (由於它們太多了,我將跳過它,所以在下面顯示為?)
因此,正確的格式是“?12.34”或“?2.34”或“?2.34”不正確的格式是“1234”/“234”
因此,首先,我使用全域搜尋(現在是有趣的正規表示式)檢查小數點的負匹配,我嘗試檢查負數(即不符合)一個或兩個數字0-9,後跟小數點由兩位數0-9組成。我想出了以下(未經測試的)理論模式。因為這是我的第一個複雜的正規表示式,我做對了嗎?
if ($price eq ''){
say'';
say 'You did not enter any price. Try again';
say'';
}
elsif ($price !~ /\./g ){
say'';
say 'Please include a decimal point';
say'';
}
elsif ($price !~ /[0-9]{1,2}\.[0-9]{2}$/){
say'';
say 'Please check the format of price (XX.XX)';
say'';