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

Java에서 정규식을 사용하여 문자열에서 HTML 태그를 추출하는 방법은 무엇입니까?

<시간/>

Java의 java.util.regex 패키지는 문자 시퀀스에서 특정 패턴을 찾기 위한 다양한 클래스를 제공합니다.

패턴 이 패키지의 클래스는 정규 표현식의 컴파일된 표현입니다. 정규 표현식을 문자열과 일치시키기 위해 이 클래스는 다음과 같은 두 가지 방법을 제공합니다. -

  • 컴파일() − 이 메소드는 정규 표현식을 나타내는 String을 받아 Pattern 클래스의 객체를 반환합니다.

  • 매처() − 이 메소드는 String 값을 받아 주어진 String을 현재 패턴 객체가 나타내는 패턴과 일치시키는 매처 객체를 생성합니다.

매처 java.util.regex 패키지의 클래스는 일치 작업을 수행하는 엔진입니다. 일치하는 값을 찾으려면 이 클래스의 두 가지 메서드, 즉 -

를 사용해야 합니다.
  • 찾기() − 이 메서드는 현재 개체가 나타내는 일치 작업이 성공하면 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • 그룹() − 이 메서드는 특정 그룹을 나타내는 정수 값을 허용하고 일치 작업에서 지정된 그룹에 의해 캡처된 시퀀스를 반환합니다.

따라서 String에서 HTML 태그를 찾으려면 -

  • 필요한 HTML 태그를 나타내는 정규식을 Pattern 클래스의 compile() 메서드에 대한 매개변수로 전달하여 Pattern 객체를 생성합니다.

  • Pattern 클래스의 matcher 메서드()를 사용하여 원하는 String과 일치시킵니다.

  • Matcher 클래스의 find() 메소드를 사용하여 발생했는지 확인하십시오.

  • 일치하는 경우 Matcher 클래스의 group() 메서드를 사용하여 일치하는 String을 검색합니다.

예시

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ExtractHtmlTag {
   public static void main(String[] args) {
      String str = "Welcome to <b>Tutorialspoint<b>";
      //Creating a pattern object
      Pattern pattern = Pattern.compile("<b>(\\S+)</b>");
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(str);
      if (matcher.find()) {
         String result = matcher.group(1);
         System.out.println(result);
      }
   }
}

출력

Tutorialspoint