<p>我在python中有一个循环,在每次迭代中程序都从控制台读取文本。在这个文本中有一个字符的Id。我读到的信息是“你的项目准备好了。您的ID:dfgdfgfd“所以ID在每次迭代中都是不同的。在每次迭代之后,ID应该转到循环外部的列表。我正在尝试这样做,但我认为有更好的方法,只需在(.*)中获取ID并将其附加到ID列表中,而不是获取行并拆分它并获取[6],只需获取ID并附加它。你知道吗</p>
<pre><code>import os
import sys
import re
ListOfProjects={projectA, projectB, projectC, projectE}
List_Of_Ids=[]
for x in ListOfProjects:
IdFullText=sys.stdin.readline()
Id=re.compile(r'Your project is ready. Your ID: (.*)')
matches = Id.finditer(IdFullText)
List_Of_Ids.append(Matches)
</code></pre>
<p>我只想在一个列表中输入id,这在每次迭代中都是不同的。“你的项目准备好了。您的ID:“”总是相同的,但是()中的ID每次都会不同,例如“dfsdf”或“dsgfsdvc”。我只需要这个</p>
<p>下面的代码将返回与regex匹配的值列表。在您的情况下,它应该返回一个只有一项的列表。你知道吗</p>
<pre><code>_str = 'Your project is ready. Your ID: A12345'
re.findall(r'^Your project is ready. Your ID: (.*)$',_str)
#returns ['A12345']
</code></pre>