내 함수에 문제가 있습니다. 문자열을 내 함수와 패턴 일치시키고 싶지만 문자열을 부분 문자열로 분리하는 데 문제가 있습니다. 나는 "ccaabbccaacc"
과 같은 문자열과 "a*b*c*"
과 같은 정규 표현을 사용하여 바운드 서브 링이있는 목록 인 ["cc", "aabbcc", "aacc", ""]
을 얻고 싶습니다. 나는 문자열문자열을 하위 문자열로 나누기 haskell
parts :: [a] -> [[[a]]]
parts [ ] = [[ ]]
parts [c] = [[[c]]]
parts (c : cs) = concat [[(c : p) : ps ,[c] : p : ps] | p : ps <- parts cs]
의 모든 부분을 반환이 기능을 만들었습니다하지만 적용 할 때 내 matchs는 내가 원하는 것을 더 반환하고 난 결과를 필터링하는 방법을 모른다 명백한 모든 결과를 작동합니다. somene는 나를 도울 수 있습니까?
여기에서와 같이 이러한 문제를 쉬운 단계로 나누는 것이 일반적으로 좋은 생각이지만 작업을 완전히 수행하는 하나의 재귀 함수를 작성하는 것이 더 효과적인 사례라고 생각합니다. 그걸 시도 했니? – leftaroundabout
나는 재귀 적으로 작업을 시도했지만 작동하지 않았다. – user192837465