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