如何在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+ 浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告