Вот псевдокод, чтобы дать вам направление:
Мы должны пройти через каждый символ, добавляя к строке, сказать «результат», если мы найдем какой-либо символ, который кажется хорошим кандидатом
Требуется логическое / булевое поле, скажем, «isCandidate», изначально установите для него значение false
Проверьте, не является ли текущий символ '['
я. Проверьте, является ли предыдущий символ текущего символа '['
a. Append previous character (i.e. '[') to result
b. Set isCandidate to true
ii. Проверьте, является ли isCandidate истинным
a. Check if current character is not a ']'
1) Append current character (i.e. anything not a '[' or ']') to result
b. Check if current character is a ']'
1) Append current character (i.e. ']') to result
2) Set isCandidate to false (You have found your first word closed within '[' and ']')
3) Add the result string in a list or array (or any structure where you'd be maintaining your results)
4) Set result to empty string
Повторяйте для следующего символа, пока не будет достигнут конец строки