Я не знаю, думаю, что любая библиотека, такая как shlex, была бы такой гибкой, и регулярное выражение не было бы простым, я думаю, я предпочитаю избегать вложенного регулярного выражения.
Так что мы можем попробовать это в относительно простой способ в чистом python, но это далеко от pythoni c ответ:
myInput = "'string' 4 '['RP0', 'LC0']' '[3, 4]' '[3, '4']'"
processedInput = ""
word_iterator = myInput.__iter__()
for idx, char in enumerate(word_iterator):
if char == "'":
continue
processedInput+=char
if char == '[':
next_char=word_iterator.__next__()
while(next_char != "]"):
processedInput+=next_char
next_char=word_iterator.__next__()
else:
processedInput+=next_char
ВЫХОД
string 4 ['['RP0', 'LC0']] [3, 4] [3, '4']