python - 在Python的re中,如果子字符串在开头或中间匹配,如何获取字符串?

标签 python regex

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)

第一个 for 循环打印“RC_test_CN_SK”和“SC_test_SRV”。 第二个 for 循环打印“test_SLU”、“test_CO”和“test_UL”。

如何进行一次 re.findall 搜索并获取我想要的五个文件?

最佳答案

测试您的值是否以字符串开头的 0 个以上单词字符开头,然后包含 test:

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']

请参阅Python demo

关于python - 在Python的re中,如果子字符串在开头或中间匹配,如何获取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43350609/

相关文章:

javascript - 删除自动添加的 xmlns 属性

java - 理解模式和匹配器

python - Mistune 内联 Lexar 重新编译帮助

python - 有时需要 "from ... import ..."而普通的 "import ..."并不总是有效吗?为什么?

python - 双轴中缺少标签(matplotlib)

python - 没有名为 'django.contrib.staticfiles.templatetags' 的模块

regex - 如何在 proftpd 中对目录路径使用正则表达式

python - 如何在不关闭 shell 的情况下重新加载/重新编译 Python 中的代码

python - 如何在列表理解中改变字典的值

java - 简单英语的正则表达式