我对正则表达式非常缺乏经验,所以请多多包涵。我的程序在用户输入中检查度量单位,并将其从公制转换为英制,反之亦然。这是我的案例陈述的摘要:
when /ltr|ltrs|liter|liters|litre|litres/
puts "#{int} liter(s) is equal to #{calc(int,3.78541)} gallon(s),#{rem(int,3.78541,4)} quart(s)!"
when /gal|gals|gallon|gallons/
puts "#{int} gallon(s) is equal to #{calc(int,0.264172)} liter(s),0.264172,1000)} milliliter(s)!"
我想将第一个when
更改为也包含/l/
。为防止它与其他l
条件下(例如when
中的gallon
混合出现,我想使用类似/\bl\b/
的东西。问题是,这使得程序无法识别l
(如果它与数字相邻),例如20L
。有没有办法使单词边界忽略相邻数字?