如何使用 Java 中的正则表达式从字符串中提取 HTML 标记?
javaobject oriented programmingprogramming
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>"; //创建一个 Pattern 对象 Pattern pattern = Pattern.compile("<b>(\S+)</b>"); //匹配字符串中的编译模式 Matcher matcher = pattern.matcher(str); if (matcher.find()) { String result = matcher.group(1); System.out.println(result); } } }
输出
Tutorialspoint