Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 정규 표현식이란 무엇입니까?

<시간/>

정규식은 입력 텍스트를 검색하기 위한 패턴을 정의/형성하는 문자열입니다. 정규식은 하나 이상의 문자를 포함할 수 있으며 정규식을 사용하여 문자열을 검색하거나 바꿀 수 있습니다.

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