我想更换"metre"或"mt"与"m"用perl.这该怎么做?我在用这个:
$string=~ s/[Mm][Ee\s][Tt][Rr\s][Ee\s]/m/g;
Run Code Online (Sandbox Code Playgroud)
它正在努力"metre",但不是为了"mt"
该i 修改器可以让你做一个不区分大小写的匹配.
$string =~ s/metre|mt/m/gi;
Run Code Online (Sandbox Code Playgroud)
要么
$string =~ s/m(?:etre|t)/m/gi;
Run Code Online (Sandbox Code Playgroud)
,这更有效率.
假设您正在尝试将"单词" metre或mt长度单位替换为m,则需要使用单词boundary meta character \b,如注释中指出的@ M42.这将阻止像mt中的匹配warmth.