주어진 문자열에서 모든 회문을 찾아 해당 회문의 시작 위치와 길이를 반환하는 findAllPalindromes라는 메서드를 작성하세요. 회문은 공백과 구두점을 무시하고 앞뒤가 같은 단어나 구입니다. 예를 들어 "토마토는 익으면 맛있어요!"라는 문자열이 주어졌을 때, findAllPalindromes는 다음과 같은 결과를 반환해야 합니다:

["토마토", 0, 3]
["는 익으면", 4, 7]
["맛있어요", 11, 5]

매개변수가 널이 아니고 최소한 하나의 문자를 포함한다고 가정하십시오. 단어나 구는 연속된 문자의 집합으로 정의됩니다. 따라서 "토마토는! 익으면? 맛있어요!"와 같이 구두점이 포함된 경우 "토마토", "는 익으면", "맛있어요"를 회문으로 인식합니다.