我正在构建一个正则表达式,允许我用下划线(_)替换文件名中的句点(。)。
示例:将filename.doc替换为filename_doc
我在Expresso中玩过一个游戏,并且已经知道它会像。\ w {3,4}那样 - 获取3或4个字符的扩展名,例如doc,docx,xls,xlsx等。
但我无法弄清楚如何只更换期间并保留延期。
答案 0 :(得分:4)
你必须逃脱.
标志。尝试使用以下正则表达式:
\.(\w{3,4})$
并将其替换为:
_$1
$1
在()
答案 1 :(得分:0)
仅替换最后一个点:
perl: $str =~ s/\.([^.]+)$/_$1/
php: $str = preg_replace('/\.([^.]+)$/', "_$1", $str);
替换所有点:
perl: $str =~ s/\./_/g;
php: $str = preg_replace('/\./', '_', $str);