我是python的新手,我一直在寻找一种方法来替换一系列模式,但找不到使用正则表达式的方法,但我发现这些方法都没有为我工作,这是我的一些模式以及正在使用的代码:
regexes = {
r'\s(\(|\[)(.*?)Mix(.*?)(\)|\])/i') : r"",
r'\s(\(|\[)(.*?)Version(.*?)(\)|\])/i') : r"",
r'\s(\(|\[)(.*?)Remix(.*?)(\)|\])/i') : r"",
r'\s(\(|\[)(.*?)Extended(.*?)(\)|\])/i') : r"",
r'\s\(remix\)/i' : r"",
r'\s\(original\)/i' : r"",
r'\s\(intro\)/i' : r"",
}
def multi_replace(dict, text):
for key, value in dict.items():
text = re.sub(key, value, text)
return text
filename = "Testing (Intro)"
name = multi_replace(regexes, filename)
print(name)
当我是DJ时,我要从自己拥有的音乐目录中提取文件名,我属于许多记录池,有时它们会如下标记他们的歌曲;
SomeGuy-此处的歌曲名称(简介)
SomeGirl-这里的歌名(混音)
SomeGirl-此处的歌曲名称(扩展版)
SomeGuy-此处的歌曲名称(12“混合人声)
等等...
我上面的正则表达式在PHP中工作,其中它将删除所有(Intro)(Remix)(Extended Version)等值,因此输出为;
SomeGuy-歌曲名称在这里
SomeGirl-这里的歌名
SomeGirl-这里的歌名
SomeGuy-歌曲名称在这里
等等...