Разделить регулярные выражения на несколько строк - PullRequest
0 голосов
/ 12 июня 2018

Я использую регулярное выражение для чтения строки, сбора всех совпадений и печати каждого совпадения в виде новой строки.До сих пор я прочитал строку и извлек необходимые данные, но код печатает все это в одной строке.Есть ли способ напечатать каждое совпадение отдельно?

Вот код, который я использовал:

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

1 Ответ

0 голосов
/ 12 июня 2018

Я не уверен, что вы пытаетесь захватить с помощью регулярных выражений, но, насколько я понимаю, вы хотите разделить 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).

...