정규식은 입력 텍스트를 검색하기 위한 패턴을 정의/형성하는 문자열입니다. 정규식은 하나 이상의 문자를 포함할 수 있으며 정규식을 사용하여 문자열을 검색하거나 바꿀 수 있습니다.
Java는 정규 표현식과의 패턴 일치를 위해 java.util.regex 패키지를 제공합니다. 이 패키지에는 다음과 같은 세 가지 클래스가 포함되어 있습니다. -
- 패턴 클래스: 패턴 이 패키지의 클래스는 정규 표현식의 컴파일된 표현입니다. 정규식을 String과 일치시키기 위해 이 클래스는 다음과 같은 두 가지 방법을 제공합니다.
- 컴파일(): 이 메서드는 정규식을 나타내는 String을 받아 Pattern 객체의 객체를 반환합니다.
- 매처(): 이 메소드는 String 값을 받아들이고 주어진 String을 현재 패턴 객체가 나타내는 패턴과 일치시키는 매처 객체를 생성합니다.
- 매처 java.util.regex 패키지의 클래스는 일치 작업을 수행하는 엔진입니다. 일치하는 값을 찾으려면 이 클래스의 두 가지 메서드, 즉 를 사용해야 합니다.
- 찾기(): 이 메서드는 현재 개체가 나타내는 일치 작업이 성공하면 true를 반환하고 그렇지 않으면 false를 반환합니다.
- 그룹() :이 메서드는 특정 그룹을 나타내는 정수 값을 허용하고 일치 작업에서 지정된 그룹이 캡처한 시퀀스를 반환합니다.
- PatternSyntaxException − PatternSyntaxException 객체는 정규식 패턴의 구문 오류를 나타내는 확인되지 않은 예외입니다.
예
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main( String args[] ) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter input string: ");
String input = sc.nextLine();
String regex = "[^\\p{ASCII}]";
//Creating a pattern object
Pattern pattern = Pattern.compile(regex);
//Matching the compiled pattern in the String
Matcher matcher = pattern.matcher(input);
//Creating an empty string buffer
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sb, "");
}
matcher.appendTail(sb);
System.out.println("Result: \n"+ sb.toString() );
}
} 출력
Enter input string: whÿ do we fall Result: wh do we fall
예
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StartExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter input text: ");
String input = sc.nextLine();
String regex = "[t]";
//Creating a pattern object
Pattern pattern = Pattern.compile(regex);
//Matching the compiled pattern in the String
Matcher matcher = pattern.matcher(input);
int count =0;
while (matcher.find()) {
int start = matcher.start();
System.out.println(start);
}
}
} 출력
Enter input text: Hello how are you welcome to Tutorialspoint 26 31 42