我正在寻找一个正则表达式模式,它会在文件名中找到任何第二组方括号(如果存在)并删除它及其内容。必须能够应对文件名中所有可能的变化。用于File Renamer。
例如,
Eman_Elif [abcdefg 01] txet [XYZ-567] .txt
结果
Eman_Elif [abcdefg 01] txet .txt
答案 0 :(得分:1)
使用“在文件重命名器中使用正则表达式查找”选项。您可以使用以下内容。
Find: \[[^]]*](\.[^.]+)$
Replace: $1
答案 1 :(得分:1)
将第一个设置与第二个匹配,然后将整个匹配替换为捕获的第一个部分:
Search: (\[.*?\].*?)\[.*?\]
Replace: $1
答案 2 :(得分:0)
如果你确实想使用正则表达式处理这个问题,那么这些方面似乎有用:
s/^(.*?)(?:(\[[^\]]*?\].*?)(?:\[[^\]]*?\]))(.*)$/$1$2$3/
要求“必须能够应对文件名中所有可能的变化”,这是非常开放的。例如,是否存在不匹配或嵌套括号?
Eman_Elif [abcdefg [xyz] 01] txet [XYZ-567].txt
Eman_Elif [abcdefg [[xyz 01] txet [XYZ-567].txt
Eman_Elif [abcdefg xyz ]01] txet] [X[123]YZ-567].txt