我需要在File Renamer中使用正则表达式替换文件名中方括号中的多个不同术语。我可以单独完成它们,但它非常耗时,有没有办法从列表中搜索和替换?
例如,我需要从文件名中删除方括号中的所有扩展名,如下所示:
filename[txt].txt
File_Name(Blah)[pdf].pdf
Eman Elif - [abcdef 00] - whaterver [doc].doc
感谢。
编辑:道歉,我是新来的,不知道我的方式。我的例子应该更加多样化,并非所有格式都是:[ext] .ext。我更希望找到一种方法来匹配列表中的术语并替换为任何内容(因此术语被删除)类似于:
查找:[pdf],[txt],[doc],[V3.0],
REPLACE:
但当然这不起作用。有没有办法做到这一点?感谢。
答案 0 :(得分:0)
您可以使用以下正则表达式来实现此目的:
\s?\[(txt|pdf|doc|V3\.0)\]\s?
并保持替换字符串为空。您可以在()
括号内添加任意数量的字符串,用|
管道符号分隔每个字符串。请务必使用.
转义\
等特殊字符。
例如:V3\.0
答案 1 :(得分:0)
您可以使用捕获组和反向引用来匹配这些:
s/\[([^]]*)\]\.\1$/.$1/
这匹配方括号内的一个单词后跟一个点和那个单词,并用点后跟单词替换它。