在Python'中,如果子字符串在开头或中间匹配,如何获取字符串;那是什么?
第一个for循环打印“RC_test_CN_SK”和“SC_test_SRV”。 第二个for循环打印“test_SLU”、“test_CO”和“test_UL”在Python'中,如果子字符串在开头或中间匹配,如何获取字符串;那是什么?,python,regex,Python,Regex,第一个for循环打印“RC_test_CN_SK”和“SC_test_SRV”。 第二个for循环打印“test_SLU”、“test_CO”和“test_UL” 如何执行一次re.findall搜索并获得所需的五个文件?您可以使用正则表达式或运算符执行多个搜索在您的示例中,您可以执行以下循环: import re fileList = ['notamatch','RC_test_CN_SK','test_SLU','test_CO','test_UL','SC_test_SRV'] for
如何执行一次re.findall搜索并获得所需的五个文件?您可以使用正则表达式或运算符执行多个搜索在您的示例中,您可以执行以下循环:
import re
fileList =
['notamatch','RC_test_CN_SK','test_SLU','test_CO','test_UL','SC_test_SRV']
for file in fileList:
re.findall('\w+test\w+',file)
for file in fileList:
re.findall('\Atest\w+',file)
如果找到
\w+test\w+
或\Atest\w+
,则此查询将匹配。如果您的值从字符串开头以0+字字符开始,然后包含test
,则测试:
for file in fileList:
re.findall('\w+test\w+|\Atest\w+',file)
请看我没有看到任何打印声明我不明白findall是怎么回事?你想配什么?
RE|u nottest_CN_SK
是输入还是输出?您想要的与文件名中的“test”有何不同?您可能需要(^ | | |)test(| |$)
,它假设您想要匹配由|分隔的内容。@PeterWood RE.findall正在自动打印。如果不适合您,您可以在命令前面添加“print”使其打印。这在python shell中对我来说是失败的。这就是我一直在寻找的!谢谢@Wiktor。很高兴我能帮忙。请考虑采纳/接受答案。
import re
fileList = ['notamatch','RC_test_CN_SK','test_SLU','test_CO','test_UL','SC_test_SRV']
for file in fileList:
if re.search(r'^\w*test', file):
print(file)
# => ['RC_test_CN_SK','test_SLU','test_CO','test_UL','SC_test_SRV']