>Java >java지도 시간 >Java 정규식 및 메소드를 정의하고 사용하는 방법

Java 정규식 및 메소드를 정의하고 사용하는 방법

PHPz
PHPz앞으로
2023-04-18 13:16:031160검색

1. 정규식:

a.정의:

정규식은 문자열의 패턴을 정의합니다.

정규식을 사용하여 텍스트를 검색, 편집 또는 조작할 수 있습니다.

정규식은 하나의 언어에만 국한되지 않지만 각 언어에는 미묘한 차이가 있습니다.

Java에서 문자열은 실제로 간단한 정규식입니다. 예를 들어 Hello World 정규식은 "Hello World" 문자열과 일치합니다.

ava.util.regex 패키지에는 주로 다음 세 가지 클래스가 포함되어 있습니다.

1. 패턴 클래스: 패턴 개체는 정규식의 컴파일된 표현입니다. Pattern 클래스에는 공개 생성자가 없습니다.

Pattern 객체를 생성하려면 먼저 Pattern 객체를 반환하는 공용 정적 컴파일 메서드를 호출해야 합니다. 이 메서드는 정규식을 첫 번째 매개변수로 받아들입니다.

2.Matcher 클래스: Matcher 객체는 입력 문자열을 해석하고 일치시키는 엔진입니다. Pattern 클래스와 마찬가지로 Matcher에는 공개 생성자가 없습니다.

Matcher 객체를 얻으려면 Pattern 객체의 matcher 메서드를 호출해야 합니다.

3.PatternSyntaxException: PatternSyntaxException은 정규식 패턴의 구문 오류를 나타내는 필수가 아닌 예외 클래스입니다.

b. 캡처 그룹:

캡처 그룹은 여러 문자를 하나의 단위로 처리하는 방법으로, 괄호 안에 문자를 그룹화하여 생성합니다.

String line = "이 주문은 QT3000에 대한 것입니다! 확인하시겠습니까?" //Enter

문자열 패턴 = "(\D*)(\d+)(.*)"; //세 개의 캡처 그룹

()가 3개이므로 결국 위의 정규식에 따라 3개의 그룹이 형성됩니다. 결과는 다음과 같습니다.

이 주문은 QT

에 이루어졌습니다. 3000

! 알았어?

Matcher 개체를 사용하는 경우 group(0)은 원래 문자열(전체 문자열)이 됩니다.

실제 개발에서는 편의상 Pattern 클래스나 Matcher 클래스를 직접 사용하는 경우는 거의 없고, String 클래스 아래의 메소드를 사용합니다

확인: 부울 일치(문자열 정규식)

분할: 문자열[] 분할(문자열 정규식)

대체: 문자열 대체All(문자열 정규식, 문자열 대체)

c. 문법:

다른 언어에서 \는 다음을 의미합니다. 정규식에 일반(문자 그대로) 백슬래시를 삽입하고 싶습니다. 특별한 의미를 부여하지 마세요.

Java에서 \는 다음을 의미합니다. 정규식 백슬래시를 삽입하고 싶기 때문에 그 뒤의 문자는 특별한 의미를 갖습니다.

따라서 다른 언어(예: Perl)에서는 백슬래시 하나만 있어도 이스케이프 효과를 얻을 수 있지만, Java에서는 다른 언어에서 이스케이프 효과로 구문 분석하려면 정규식에 백슬래시 두 개가 필요합니다. 또한 Java의 정규식에서는 두 개의 \가 다른 언어에서는 하나를 나타낸다고 간단히 이해할 수 있습니다. 따라서 한 자리 숫자를 나타내는 정규식은 \d이고, 일반 백슬래시를 나타내는 정규식은 \\입니다.

2.자바 방식:

Java는 객체지향 언어이므로 함수는 없고 메소드만 있지만 일반적으로 함수와 메소드는 응용프로그램에서 유사합니다.

a.정의:

수정자 반환 값 유형 메소드 이름(매개변수 유형 매개변수 이름)

{

...

메소드 본문

...

반환 값;

}

실제 예를 살펴보겠습니다. 이 메서드는 두 매개 변수의 최대값을 반환합니다.

공개 정적 int max(int ​​​​num1, int num2) {

정수 결과;

if (숫자1 > 숫자2)

결과 = num1;

그렇지 않으면

결과 = num2;

결과 반환;

}

기본적으로는 함수와 같지만 JAVA는 객체이기 때문에 어떤 메소드가 어떤 클래스에 있는지 주목해야 합니다.

b.Java 기능:

Java는 C++와 마찬가지로 함수 오버로딩을 지원합니다.

Java는 동일한 유형의 변수 매개변수를 메소드에 전달하는 것을 지원합니다.

printMax(34, 3, 3, 2, 56.5);

printMax(new double[]{1, 2, 3});

위 내용은 Java 정규식 및 메소드를 정의하고 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제