Python-使用re.compile标识文本文件的正确行
各位 我对使用Python处理文本文件还不熟悉,我一直在寻找文本文件中的正确行。 查看图像,我需要找到一种方法,使块将包含单词“新数据包已接收””的行返回给我+存储在变量stcrouter\u行中的字符串。见图 仅使用变量返回3行,这是正确的。现在我只需要得到第二行,我相信我需要块的第一行上的正确表达式(line_regex=re.compile(stcruster_line))。 我不知道该怎么解释。有人能帮我吗?谢谢Python-使用re.compile标识文本文件的正确行,python,regex,text,jupyter-notebook,data-science,Python,Regex,Text,Jupyter Notebook,Data Science,各位 我对使用Python处理文本文件还不熟悉,我一直在寻找文本文件中的正确行。 查看图像,我需要找到一种方法,使块将包含单词“新数据包已接收””的行返回给我+存储在变量stcrouter\u行中的字符串。见图 仅使用变量返回3行,这是正确的。现在我只需要得到第二行,我相信我需要块的第一行上的正确表达式(line_regex=re.compile(stcruster_line))。 我不知道该怎么解释。有人能帮我吗?谢谢 尝试将代码修改为: line_regex = re.compile('Ne
尝试将代码修改为:
line_regex = re.compile('New packet was received' + r'.*?' + stcrouter_line)
这是为了匹配:
按字面匹配文本收到新数据包
原始字符串,其中包含与任何 文本位于上面的文本字符串和现有模式之间。 在r.*?
之后使用*
使其成为最短匹配,以便 不会超出您现有的模式?
您现有的模式stcruster\u line
line\u regex=re.compile('收到新数据包'+r.*?'+stcruster\u line)
效果非常好。非常感谢,不仅为我提供了解决方案,还为我解释了它!太棒了!@Kennethdecster,你解决了它!还记得把它作为解决方案。