PHP의 preg_replace_callback과 동일한 Java
PHP 함수 preg_replace_callback()은 정규식에서 찾은 각 일치 항목에 대해 콜백 함수를 호출합니다. Java는 동등한 기능을 제공합니까?
Java의 대안: 기본 접근 방식 수용
Java는 preg_replace_callback()과 직접적으로 동등한 기능을 제공하지는 않지만 우리에게 힘을 실어줍니다. Matcher 및 StringBuffer를 활용하는 대체 접근 방식을 사용합니다. 비슷한 결과를 얻을 수 있는 방법은 다음과 같습니다.
1단계: 정규식 컴파일
Matcher regexMatcher = regex.matcher(subjectString);
2단계: 일치 반복
while (regexMatcher.find())
3단계: 대체 텍스트를 동적으로 수정
regexMatcher.appendReplacement(resultString, "replacement");
4단계: 컨텍스트 꼬리 추가
regexMatcher.appendTail(resultString);
예:
StringBuffer resultString = new StringBuffer(); Pattern regex = Pattern.compile("\[thumb(\d+)\]"); Matcher regexMatcher = regex.matcher(subjectString); while (regexMatcher.find()) { regexMatcher.appendReplacement(resultString, "<img src=\"thumbs/" + photos[regexMatcher.group(1)] + "\">"); } regexMatcher.appendTail(resultString);
이러한 단계를 따르면 PHP 코드를 Java에서 원활하게 재사용하고 사용자 정의 교체를 통해 정규식 일치를 우아하게 처리할 수 있습니다.
위 내용은 PHP의 preg_replace_callback()과 동일한 Java가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!