Regex 将正则表达式匹配项拆分为多行
我使用正则表达式读取一行,收集所有匹配项,并将每个匹配项打印为新行。 到目前为止,我已经阅读了这一行并提取了我需要的数据,但代码将所有数据打印在一行中。 有没有一种方法可以分别打印每个匹配项 以下是我一直使用的代码:Regex 将正则表达式匹配项拆分为多行,regex,python-3.6,Regex,Python 3.6,我使用正则表达式读取一行,收集所有匹配项,并将每个匹配项打印为新行。 到目前为止,我已经阅读了这一行并提取了我需要的数据,但代码将所有数据打印在一行中。 有没有一种方法可以分别打印每个匹配项 以下是我一直使用的代码: import os import re msg = "0,0.000000E+000,NCAP,64Q34,39,39,1028,NCAP,1,1,NCAP" text = [msg.split(',')] 这给了我['0','0.000000E+000','NCAP','6
import os
import re
msg = "0,0.000000E+000,NCAP,64Q34,39,39,1028,NCAP,1,1,NCAP"
text = [msg.split(',')]
这给了我['0','0.000000E+000','NCAP','64Q34','39','39','1028','NCAP','1','1','NCAP']。
在“”之间搜索数据将获得单个结果。
使用下面的代码将查找所有匹配项,但它将所有匹配项都保留为一行,并提供与输入相同的结果
text = str(text)
line = text.strip()
m = re.findall("'(.+?)'", line)
found = str(m)
print(found+ '\n')
我不确定您试图使用regexs捕获什么,但据我所知,您希望将
msg
按逗号“,”拆分,并将每个元素打印在新行上
msg = "0,0.000000E+000,NCAP,64Q34,39,39,1028,NCAP,1,1,NCAP"
msg = msg.split(',')
for m in msg:
print(m)
>>> 0
0.000000E+000
NCAP
...
这将在新行上打印msg
的每个元素-msg
的元素被“,”分割
我还将使用这个伟大的在线交互工具实时测试您的正则表达式,以了解如何使用正则表达式/使用哪些表达式。(请确保选择python语言)。另外,请参阅。