我想使用perl将"metre"
或"mt"
替换为"m"
。这该怎么做?我正在使用它:
$string=~ s/[Mm][Ee\s][Tt][Rr\s][Ee\s]/m/g;
适用于"metre"
,但不适用于"mt"
答案 0 :(得分:5)
i
modifier可让您进行不区分大小写的匹配。
$string =~ s/metre|mt/m/gi;
或
$string =~ s/m(?:etre|t)/m/gi;
,效率更高。
假设您正在尝试替换"字" metre
或mt
是m
的长度单位,您希望使用word boundary元字符\b
,就像在@ M42中指出的那样评论。这会阻止mt
中的warmth
等匹配。
答案 1 :(得分:0)
$string =~ s{metre|mt}{m}ig;
<强>解释强>
$ string =您的字符串
s =替换
{meter | mt} =旧内容
{m} =替换内容
我 =忽略案例
g =全局执行此操作