如何在Java中使用正則表示式從字串中提取HTML標籤?


Java的java.util.regex包提供了各種類來查詢字元序列中的特定模式。

該包的Pattern類是正則表示式的編譯表示。為了將正則表示式與字串匹配,此類提供了兩種方法:

  • compile() − 此方法接受表示正則表示式的字串,並返回Pattern類的物件。

  • matcher() − 此方法接受一個字串值,並建立一個匹配器物件,該物件將給定的字串與當前模式物件表示的模式匹配。

java.util.regex包的Matcher類是一個執行匹配操作的引擎。要查詢匹配的值,您需要使用此類的兩種方法:

  • find() − 如果當前物件表示的匹配操作成功,則此方法返回true;否則,返回false。

  • group() − 此方法接受表示特定組的整數值,並返回匹配操作中指定組捕獲的序列。

因此,要從字串中查詢HTML標籤:

  • 透過將表示所需HTML標籤的正則表示式作為引數傳遞給Pattern類的compile()方法,建立一個Pattern物件。

  • 使用Pattern類的matcher()方法將其與所需的字串匹配。

  • 使用Matcher類的find()方法驗證是否發生了匹配。

  • 如果匹配,則使用Matcher類的group()方法檢索匹配的字串。

示例

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

更新於:2019年10月17日

3K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告