匹配几个可变参数
Match several changeable arguments
我想在这里看到:
[AA] - ( 371M 39F - COMPLETE ) - [AA]
但它总是在变化,例如这里可以是这样
[AA] - ( 371M 39F - COMPLETE ) - [AA]
[cc] - ( 3M 3F - COMPLETE ) - [cc]
[1234] - ( 99.9M 111F - COMPLETE ) - [1234]
[A55bg] - ( 45571M 31239F - COMPLETE ) - [A55bg]
总是以[开始,以]结束
以下始终相同
[ ] - ( M F - COMPLETE ) - [ ]
我想使用变量 'skip' 来检查它是否出现在列表中。
import re
list = ['/home', '/home/test1', '/home/test1/aaa', '/home/test1/aaa/[AA] - ( 371M 39F - COMPLETE ) - [AA]', 'ccc']
skip = '\[([0-9|a-z|A-Z]+)\]\s+\-\s+\(\s+(\d+\.*\d*)M\s+(\d+)F\s+\-\s+COMPLETE\s+\)\s+\-\s+\[([0-9|a-z|A-Z]+)\]$'
for element in list:
m = re.search(skip, element)
if m:
print('match')
假设 zz
标注的字符串仅为字母数字,您可以使用如下所示的 Regex 模式。它将为输出列表中的每个 zz
发出一个匹配组,供您进一步使用。
\[([0-9a-zA-Z]+)\]\s+\-\s+\(\s+(\d+\.*\d*)M\s+(\d+)F\s+\-\s+COMPLETE\s+\)\s+\-\s+\[([0-9a-zA-Z]+)\]
这确实允许每个 zz
1 或更长的任意长度,以及出现在任何地方的多个空格。如果您需要进一步限制它,请编辑!
我想在这里看到:
[AA] - ( 371M 39F - COMPLETE ) - [AA]
但它总是在变化,例如这里可以是这样
[AA] - ( 371M 39F - COMPLETE ) - [AA]
[cc] - ( 3M 3F - COMPLETE ) - [cc]
[1234] - ( 99.9M 111F - COMPLETE ) - [1234]
[A55bg] - ( 45571M 31239F - COMPLETE ) - [A55bg]
总是以[开始,以]结束
以下始终相同
[ ] - ( M F - COMPLETE ) - [ ]
我想使用变量 'skip' 来检查它是否出现在列表中。
import re
list = ['/home', '/home/test1', '/home/test1/aaa', '/home/test1/aaa/[AA] - ( 371M 39F - COMPLETE ) - [AA]', 'ccc']
skip = '\[([0-9|a-z|A-Z]+)\]\s+\-\s+\(\s+(\d+\.*\d*)M\s+(\d+)F\s+\-\s+COMPLETE\s+\)\s+\-\s+\[([0-9|a-z|A-Z]+)\]$'
for element in list:
m = re.search(skip, element)
if m:
print('match')
假设 zz
标注的字符串仅为字母数字,您可以使用如下所示的 Regex 模式。它将为输出列表中的每个 zz
发出一个匹配组,供您进一步使用。
\[([0-9a-zA-Z]+)\]\s+\-\s+\(\s+(\d+\.*\d*)M\s+(\d+)F\s+\-\s+COMPLETE\s+\)\s+\-\s+\[([0-9a-zA-Z]+)\]
这确实允许每个 zz
1 或更长的任意长度,以及出现在任何地方的多个空格。如果您需要进一步限制它,请编辑!