Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过在python中添加变量来重用模式_Python - Fatal编程技术网

如何通过在python中添加变量来重用模式

如何通过在python中添加变量来重用模式,python,Python,我试图通过简单地更改模式中的索引(例如,L1,L2…)来重用多个模式,而不是创建多个模式,但我不知道如何用“I”替换模式中的变量。我的程序是检查每行中的三个模式,如果有任何字符串与三个模式中的一个匹配,则增加计数。 我从下面开始,但不能完成。有人知道怎么做吗? 谢谢 您希望模式列表中包含字符串,而不是对其格式方法的引用,然后您希望对每个字符串调用format方法,将迭代变量传递给该方法。未测试的代码: patterns = ['Test\(L{0}\)ABCDE', 'Te

我试图通过简单地更改模式中的索引(例如,L1,L2…)来重用多个模式,而不是创建多个模式,但我不知道如何用“I”替换模式中的变量。我的程序是检查每行中的三个模式,如果有任何字符串与三个模式中的一个匹配,则增加计数。 我从下面开始,但不能完成。有人知道怎么做吗? 谢谢


您希望模式列表中包含字符串,而不是对其
格式
方法的引用,然后您希望对每个字符串调用format方法,将迭代变量传递给该方法。未测试的代码:

patterns = ['Test\(L{0}\)ABCDE',
           'Test\(L{0}\)EFIGH',
           'Test\(L{0}\)IJKLM',
           ]
for i in range(1,20):
    expression = "|".join(pattern.format(i) for pattern in patterns)        
    count = sum(1 for line in myfile if re.search(expression, line))

请告诉我们您在哪里实际使用
模式
列表。
patterns = ['Test\(L{0}\)ABCDE',
           'Test\(L{0}\)EFIGH',
           'Test\(L{0}\)IJKLM',
           ]
for i in range(1,20):
    expression = "|".join(pattern.format(i) for pattern in patterns)        
    count = sum(1 for line in myfile if re.search(expression, line))