패턴을 기반으로하는 런 - 길이 인코딩을 수행하는 가장 깨끗한 방법을 찾고 있습니다. 목표는 여러 개의 동일한 패턴으로 구성된 하위 문자열을 인수 분해하여 문자열을 압축하는 것입니다.패턴 실행 길이 인코딩
원본 문자열 : 당신이 볼 수 있듯이
start{3}{3}{3}{3}end
, 4 "{3}
"패턴이 있습니다. 4 "{3}
"패턴을 $4{3}
으로 표시하여이 문자열을 압축 할 수 있습니다.
압축 된 문자열 내가 얻을 싶습니다
start$4{3}end
은 내가
String.replaceAll(regex, replacement)
방법을 시도했다. 나는
myString.replaceAll("\\{([^<])\\}", "$1")
이 그 값에 의해서만 전체 패턴을 대체 할 수 있다는 것을 알고 있지만
정규 표현식을 사용하여 동일한 패턴 실행을 감지하고 카운트하는 방법을 찾을 수 없다.
정규 표현식을 사용하고 있습니까? 아니면이를 수행하는 '더 좋은'방법이 있습니까?
패턴 및 매처를 사용하고 그룹 수를 얻을 수 없습니까? –