У меня есть входные данные, отформатированные как показано ниже (txt1):
txt1 = "[('1','Hello is 1)people 2)animals'), ('People are 1) hello 2) animals'), ('a')]"
Я хочу извлечь его в следующем формате -
[['1','Hello is 1)people 2)animals'],['People are 1) hello 2) animals'],['a']]
Итак, в основном, я хочу получить информацию в скобках. Но я не смог этого сделать. Кроме того, я использовал Lookahead и Lookbehind, чтобы избежать разбиения по номерам - «1)» или «2)», что произошло раньше, когда я сделал простое утверждение re.split('[\(\)\[\]]
Я пытался findall сначала проверяет, что я получаю.
r = re.findall(r'\((?=\').*(?<=\')\)(?=\,)', txt1)
Я получаю -
["('1','Hello is 1)people 2)animals'), ('People are 1) hello 2) animals')"]
Кажется, что игнорирует среднюю скобку. Что я могу сделать, чтобы получить нужный мне результат?
Спасибо.
Примечание:
Для функции разделения, которую я намереваюсьиспользовать для получения желаемого выхода, я получаю это -
r = re.split(r'\((?=\').*(?<=\')\)(?=\,)', txt1)
['[', ", ('a')]"]