我希望能够编写模式以识别列表中的文件名:
import re
NOTES = ["c", "c#", "d", "d#", "e", "f", "f#", "g", "g#", "a", "a#", "b"]
filelist1 = ["piano c3.wav", "piano c#3.wav", "piano d4.wav"]
pattern1 = "piano %notename.wav"
filelist2 = ["72__54.wav", "60__127.wav", "48__61.wav"]
pattern2 = "%midinote__%velocity.wav"
关键词:
%midinote
和{%notename
应该是列表中的字符串NOTES
以下代码可以工作并解析文件名,,但前提是模式中存在3个关键字,顺序为%midinote,%velocity,%notename:
^{2}$但是如果一个模式:
只有1或2个关键字
或有3个关键字,但按之前定义的顺序排列,
然后代码失败了。在
如何能够对匹配组的变量数进行正则表达式?
我想你们要找的是什么。试试这个:
当然,您必须根据需要更改标准值。在
您希望使用命名的捕获组。这里有几个函数可以完成所有操作,还有一些演示代码:
相关问题 更多 >
编程相关推荐