Я выполняю задание по формальным языкам, и у меня возникли проблемы с попыткой разобраться с Python Regex, используя regex.split(param)
У меня следующий текст:
{q0,q1,q2,q3},{a,b},q0,{q1,q3}
Который должен быть разделен на:
["q0,q1,q2,q3", "a,b", "q0", "q1,q3"]
Он всегда разделен запятыми и содержит буквенно-цифровые значения, которые могут начинаться с буквы или цифры.
Для достижениявыше разделения я создал этот невероятно длинный кусок кода, имеющий дело с String.join()
и Array.split()
:
[x for x in ' '.join(' '.join(' '.join(args.split(',{')).split('}')).split('{')).split(' ') if x != '']
Я попробовал следующее с REGEX, но оно просто не работает:
re.compile("(,{)|}|{|(},)")
Он возвращает мне:
['', None, None, 'q0,q1,q2,q3', None, None, '', ',{', None, 'a,b', None, None, ',q0', ',{', None, 'q1,q3', None, None, '']
Все эти ложные значения легко позаботиться, но почему он хранит такие вещи, как ,{
в массиве?