如何在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
广告