>Java >java지도 시간 >Java 정규식에 대한 심층 분석: 수량자 구문, 문자 클래스 및 경계 일치

Java 정규식에 대한 심층 분석: 수량자 구문, 문자 클래스 및 경계 일치

WBOY
WBOY원래의
2023-12-26 12:39:11603검색

Java 정규식에 대한 심층 분석: 수량자 구문, 문자 클래스 및 경계 일치

Java 정규식 구문에 대한 자세한 설명: 수량자, 문자 클래스 및 경계 일치

정규식은 Java에서 문자열 일치 및 처리에 널리 사용됩니다. 이 기사에서는 정규식의 수량자, 문자 클래스 및 경계 일치를 자세히 소개하고 구체적인 코드 예제를 제공합니다.

1. 수량자

정량자는 일치 규칙의 반복 횟수를 지정하는 데 사용됩니다. Java에서 일반적으로 사용되는 수량자는 다음과 같습니다.

  1. *: 이전 문자와 0회 이상 일치합니다.
  2. +: 이전 문자를 1번 이상 일치시킵니다.
  3. ?: 이전 문자를 0 또는 1번 일치시킵니다.
  4. {n}: 이전 문자를 정확히 n번 일치시킵니다.
  5. {n,}: 이전 문자를 n번 이상 일치시킵니다.
  6. {n,m}: 이전 문자를 최소 n회, 최대 m회 일치시킵니다.

다음은 구체적인 예입니다. 위 코드의

String str = "abcccdddeeeee";

String pattern1 = "c*";
System.out.println(str.matches(pattern1)); // 输出true

String pattern2 = "d+";
System.out.println(str.matches(pattern2)); // 输出true

String pattern3 = "e?";
System.out.println(str.matches(pattern3)); // 输出false

String pattern4 = "c{2}";
System.out.println(str.matches(pattern4)); // 输出false

String pattern5 = "c{3,}";
System.out.println(str.matches(pattern5)); // 输出true

String pattern6 = "c{2,4}";
System.out.println(str.matches(pattern6)); // 输出true

Str은 서로 다른 반복 문자가 포함된 문자열입니다. 다음으로, match() 메서드를 사용하여 일부 정규식 패턴을 정의하고 일치시킵니다. 수량자에 따라 서로 다른 일치 결과를 볼 수 있습니다.

2. 문자 클래스

문자 클래스는 문자 모음을 지정하는 데 사용됩니다. Java의 문자 클래스는 일반적으로 []를 사용하여 정의되며, 범위, 제외 및 사전 정의된 문자를 사용하여 문자 클래스를 정의할 수 있습니다.

구체적인 예는 다음과 같습니다. 위 코드의

String str = "abc123";

String pattern1 = "[a-c]";
System.out.println(str.matches(pattern1)); // 输出true

String pattern2 = "[0-9]";
System.out.println(str.matches(pattern2)); // 输出false

String pattern3 = "[a-c0-9]";
System.out.println(str.matches(pattern3)); // 输出true

String pattern4 = "[^a-z]";
System.out.println(str.matches(pattern4)); // 输出false

String pattern5 = "\d";
System.out.println(str.matches(pattern5)); // 输出false

String pattern6 = "\D";
System.out.println(str.matches(pattern6)); // 输出true

Str은 문자와 숫자가 포함된 문자열입니다. 다음으로 몇 가지 정규식 패턴을 정의하고 match() 메서드를 사용하여 일치시킵니다. 캐릭터 클래스에 따라 서로 다른 매칭 결과를 볼 수 있습니다.

3. 경계 일치

경계 일치는 일치 위치를 제한하는 데 사용됩니다. Java에는 다음과 같은 경계 일치 기호가 있습니다.

  1. ^: 문자열의 시작 위치를 일치시킵니다.
  2. $: 문자열의 끝 위치를 일치시킵니다.
  3. : 단어 경계를 일치시킵니다.
  4. B: 단어가 아닌 경계를 일치시킵니다.

다음은 구체적인 예입니다.

String str = "hello world";

String pattern1 = "^hello";
System.out.println(str.matches(pattern1)); // 输出true

String pattern2 = "world$";
System.out.println(str.matches(pattern2)); // 输出true

String pattern3 = "\bhello";
System.out.println(str.matches(pattern3)); // 输出true

String pattern4 = "\Bworld";
System.out.println(str.matches(pattern4)); // 输出false

위 코드의 str은 문장을 포함하는 문자열입니다. 다음으로 몇 가지 정규식 패턴을 정의하고 match() 메서드를 사용하여 일치시킵니다. 경계 매칭 기호에 따라 서로 다른 매칭 결과를 볼 수 있습니다.

요약:

이 문서에서는 Java 정규 표현식의 수량자, 문자 클래스 및 경계 일치를 소개하고 구체적인 코드 예제를 제공합니다. 실제 프로그래밍에서 정규식은 문자열 일치 및 처리를 단순화할 수 있는 매우 유용한 도구입니다. 이러한 정규식의 기본 사용법을 익히면 Java를 사용하여 문자열을 보다 효율적으로 처리할 수 있습니다.

위 내용은 Java 정규식에 대한 심층 분석: 수량자 구문, 문자 클래스 및 경계 일치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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