我正在使用Mac App Name Mangler。它允许使用正则表达式。我有一堆文件和文件夹包含以下内容。
文件名[24.9MB] .ext
文件夹名称[1GB]
我希望正则表达式删除括号以及它们之间的内容。如果在括号之前有一个空格,如果它也被删除了。因此变得......
文件名.ext
文件夹名称
我现在已经阅读了一些关于正则表达式的内容,并意识到括号本身就是语法的一部分。我需要绕过它以及它们中包含的内容。任何帮助,将不胜感激。必须手动清理数十万个文件和文件夹名称太多了。
答案 0 :(得分:0)
使用查找和替换功能:
Find: \s*\[[^]]*]
Replace with:
正则表达式:
\s* whitespace (\n, \r, \t, \f, and " ") (0 or more times)
\[ '['
[^]]* any character except: ']' (0 or more times)
] ']'
答案 1 :(得分:0)
要匹配括号及其内容,正则表达式将为\[[^\]]+\]
。现在,如果要在括号前捕获空格,则可以使用[ ]*
。它意味着零个或多个空格。
因此,结合两者,您的搜索正则表达式将是:
[ ]*\[[^\]]+\]
仅供参考:[^\]]+
表示除]
之外的任何字符都有一次或多次。
答案 2 :(得分:0)
使用"非捕获组"括号:What is a non-capturing group? What does a question mark followed by a colon (?:) mean?
http://rubular.com/r/bVhVbKomKm
/(.+)(?:\s?\[[^\]]+\])(.+)?/
# Match 1
# 1. File Name
# 2. .ext
#
# Match 2
# 1. Folder Name
# 2.