>Java >java지도 시간 >Java의 정규식 일치 항목에서 문자열 배열을 어떻게 만들 수 있나요?

Java의 정규식 일치 항목에서 문자열 배열을 어떻게 만들 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-11-29 14:43:13258검색

How Can I Create an Array of Strings from Regex Matches in Java?

정규식 일치에서 배열 생성

Java에서 정규식 일치는 일반적으로 패턴이 문자열과 일치하는지 여부를 나타내는 부울 값으로 확인됩니다. 그러나 정규 표현식에서 일치하는 문자열을 배열로 추출하는 것이 가능합니다.

이를 달성하려면 Matcher를 사용할 수 있습니다.

import java.util.regex.Matcher;
import java.util.regex.Pattern;

...

List<String> allMatches = new ArrayList<>();
Matcher m = Pattern.compile("your regular expression here").matcher(yourStringHere);
while (m.find()) {
    allMatches.add(m.group());
}

위 코드는 패턴을 사용하여 Matcher 인스턴스를 생성한 다음 반복적으로 일치 항목을 식별하는 데 사용됩니다. 각 일치 항목은 목록에 추가되며 다음을 사용하여 목록을 배열로 변환할 수 있습니다.

allMatches.toArray(new String[0]);

또는 일치 항목에 대한 지연 반복을 허용하는 사용자 지정 반복자를 만들 수 있습니다.

public static Iterable<MatchResult> allMatches(
      final Pattern p, final CharSequence input) {
  return new Iterable<MatchResult>() {
    ...
  };
}

이 반복자를 사용하면 가능한 모든 일치 항목을 즉시 찾을 필요 없이 일치 항목을 반복할 수 있습니다.

코드에 표시된 대로 스니펫:

for (MatchResult match : allMatches(Pattern.compile("[abc]"), "abracadabra")) {
  System.out.println(match.group() + " at " + match.start());
}

이 결과는 다음과 같습니다.

a at 0
b at 1
a at 3
c at 4
a at 5
a at 7
b at 8
a at 10

MatchResult 구현을 사용하여 일치 항목에 반복적으로 액세스할 수 있는 방법을 보여줍니다.

위 내용은 Java의 정규식 일치 항목에서 문자열 배열을 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.