>  기사  >  Java  >  Java 7 이전에 Java에서 명명된 캡처 그룹을 어떻게 사용할 수 있습니까?

Java 7 이전에 Java에서 명명된 캡처 그룹을 어떻게 사용할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-05 06:01:01502검색

How can I use named capture groups in Java before Java 7?

Java에서 정규식으로 명명된 그룹

정규식 패키지에 제한이 있음 에 명명된 그룹에 대한 지원이 없다는 것이 확인되었으므로 지원되는 타사 라이브러리를 알려주세요.

jregex를 검토했지만 마지막 릴리스는 2002 년이며 java5에서는 작동하지 않았습니다 (빨리 시도해 보았습니다).

Java 7 이상 지원

Java 7에서는 명명된 그룹이 지원되었습니다. 명명된 캡처 그룹을 지원하는 구성요소는 다음과 같습니다.

명명된 그룹 'name'을 정의하는 '(?capturing text)'

    명명된 그룹 'name'을 다시 참조하는 ' k"
  • Matcher의 대체 문자열로 캡처된 그룹을 참조하기 위해 "${name}"
  • 지정한 "명명된 그룹"에 의해 캡처된 입력 부분 캐릭터 라인을 돌려주기 위한 「Matcher.group(String name)」
  • Java 7 이전의 대체안 대안이 있었다.

Google named-regex

jregex

  • Regex2 라이브러리
  • Regex2 라이브러리는 명명된 그룹 를 작성하기 위해서 java.util.regex.Pattern 클래스를 확장한 것입니다.

입력 문자열: "TEST 123"

정규식: "(?w ) (?액세스:

matcher.group(1) == "TEST"

matcher.group("login") == "TEST"

matcher. name(1) == "login"

대치:

matcher.replaceAll("aaaaa_$1_sssss_$2____") == "aaaaa_TEST_ssssss_123____"
{login}_sssss_${id}____") =="aaaaa_TEST_sssss_123____"

위 내용은 Java 7 이전에 Java에서 명명된 캡처 그룹을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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