我有400个包含多行的文件。我想找到特定的行,只提取/打印其中的一部分
我想达到以下目标:
Full seesion name: T27I5E8_S1_N005_V004
并仅打印:
S1_V004
我试过:
for filename in os.listdir(data_directory):
with open(data_directory + "/" + filename) as file:
for line in file:
if re.search(r'([S][\d])|([V][\d]{3})', line):
print(line)
但它打印出了整条线。 我还尝试:
subjID = re.compile(r'([S][\d])|([V][\d]{3})')
for filename in os.listdir(data_directory):
with open(data_directory + "/" + filename) as file:
for line in file:
print(subjID.findall(line))
但输出结果如下所示:
[]
[]
[]
[]
[('S1', ''), ('', 'V094')]
[]
[]
[]
[]
[]
[]
[]
[('S1', ''), ('', 'V094')]
[]
[]
[]
[]
[]
[]
[]
你可以用
见Python demo和regex demo。使用
re.findall
,将找到所有匹配项,如果找到,则结果是由匹配文本组成的_
连接字符串图案细节
[SV]
-S
或V
\d+
-1+位相关问题 更多 >
编程相关推荐