test test123 - test (bla bla1 (On chutti))
test test123 bla12 teeee (Rinku Singh)
balle balle (testagain) (Rohit Sharma)
test test123 test1111 test45345 (Surya) (Virat kohli (Lagaan))
testagain blae kaun hai ye banda (Ranbir kapoor (Lagaan), Milkha Singh (On chutti) (Lagaan))
Всегда учитывайте последнее появление круглых скобок () в каждой строке. Нам нужно извлечь значения в этой последней, самой внешней паре круглых скобок.
Внутри последнего вхождения () извлеките все значения, которые появляются перед каждым вхождением вложенных круглых скобок ().
Например: test test123 - test (bla bla1 (On chutti)) последняя скобка начинается с (bla до до chutti)) поэтому мне нужно bla bla1, так как он находится перед внутренним (На чутти). Итак, найдите последнюю скобку, а затем внутри того количества пар скобок, которые нам нужны, чтобы получить данные перед ними, например: в строке testagain blae kaun hai yebanda (Ранбир Капур (Лагаан), Милкха Сингх (Он чутти) (Лагаан)) нужны Ранбир Капур и Милкха Сингх.
Попытка регулярного выражения:
Я попробовал использовать следующее регулярное выражение в рабочей демонстрации регулярного выражения:
Регулярное выражение:
Регулярное выражение, которое я пробовал, работает нормально, но я хочу улучшить его с помощью советов экспертов. Предпочитаемые языки: Если вы хотите улучшить это регулярное выражение ИЛИ Python или awk, это тоже нормально. Я сам тоже попробую добавить awk ответ.
У нас есть данные вызова REST API, хранящиеся в выходном файле, который выглядит следующим образом: [b]Пример входного файла:[/b] [code]test test123 - test (bla bla1 (On chutti)) test test123 bla12 teeee (Rinku Singh) balle balle (testagain) (Rohit Sharma) test test123 test1111 test45345 (Surya) (Virat kohli (Lagaan)) testagain blae kaun hai ye banda (Ranbir kapoor (Lagaan), Milkha Singh (On chutti) (Lagaan)) [/code] [b]Ожидаемый результат:[/b] [code]bla bla1 Rinku Singh Rohit Sharma Virat kohli Ranbir kapoor, Milkha Singh [/code] [b]Условия получения ожидаемого результата:[/b] [list] [*]Всегда учитывайте последнее появление круглых скобок () в каждой строке. Нам нужно извлечь значения в этой последней, самой внешней паре круглых скобок. [*]Внутри последнего вхождения () извлеките все значения, которые появляются перед каждым вхождением вложенных круглых скобок (). Например: test test123 - test (bla bla1 (On chutti)) последняя скобка начинается с (bla до до chutti)) поэтому мне нужно bla bla1, так как он находится перед внутренним (На чутти). Итак, найдите последнюю скобку, а затем внутри того количества пар скобок, которые нам нужны, чтобы получить данные перед ними, например: в строке testagain blae kaun hai yebanda (Ранбир Капур (Лагаан), Милкха Сингх (Он чутти) (Лагаан)) нужны Ранбир Капур и Милкха Сингх. [/list] [b]Попытка регулярного выражения:[/b] Я попробовал использовать следующее регулярное выражение в рабочей демонстрации регулярного выражения: Регулярное выражение:[code]^(?:^[^(]+\([^)]+\) \(([^(]+)\([^)]+\)\))|[^(]+\(([^(]+)\([^)]+\),\s([^\(]+)\([^)]+\)\s\([^\)]+\)\)|(?:(?:.*?)\((.*?)\(.*?\)\))|(?:[^(]+\(([^)]+)\))$ [/code] [b]Регулярное выражение, которое я пробовал, работает нормально, но я хочу улучшить его с помощью советов экспертов.[/b] [b]Предпочитаемые языки:[/b] Если вы хотите улучшить это регулярное выражение ИЛИ Python или awk, это тоже нормально. Я сам тоже попробую добавить awk ответ.