我有一系列具有这种格式的文件:
01x05e -一些文本(更多的文本) 01x05f -一些文本(更多的文本) 01x05g -一些文本(更多的文本)
我想要的是剥去他们的衣服来制作这个:
01x05e -更多的文本 01x05f -更多的文本 01x05g -更多的文本
为此,我使用了大容量重命名实用程序。我想我可以用它来做这个:
-.*?\(这成功地匹配了"-“和"(”)之间的所有内容。我希望可以使用它删除所有的文本,然后要求大容量重命名实用程序对每个文件名(即“)”中的最终字符进行非常琐碎的删除。
但是,在批量重命名实用程序中,我不能仅仅匹配文本并将其替换为没有内容来删除它。相反,我必须指定一个替换标准,而我输入的任何内容似乎都不起作用。每当我在“替换”部分中输入任何数据时,它只会擦除我的所有文件名。
这使我认为我需要以不同的方式处理正则表达式,找到某种方法在"-“之前获取数据,并在"(”和")“之间抓取数据,并将它们放在一起。
然而,我甚至不知道如何开始这样做。这是正确的方法,还是我遗漏了一些明显的关于匹配和替换我目前的正则表达式的东西?
发布于 2016-04-14 00:50:31
大容量重命名实用程序有一个支持网站,包括一个论坛,其中包括一个提供regex重命名支持的部分,这里。
似乎您想要捕获从第一个paren (打开)到最后一个paren (关闭),并删除第一个连字符之后的所有内容。捕获组是您的朋友:
^([^-]* -) - This will match from start to first hyphen after space.
[^(]* - This will match everything except open paren.
\((.*)\)$ - This will match things inside the parens.你可以把它们放在一起:
^([^-]* -)[^(]*\((.*)\)$代之以第一组和最后一组:
\1 \2https://stackoverflow.com/questions/36611791
复制相似问题