簡體   English   中英

使用Java模式在具有屬性的HTML標記之間提取單詞

[英]Use Java Pattern to extract word between HTML tag with attributes

我正在使用Java Pattern&Matcher提取兩個標簽之間的單詞。

我的代碼是這樣的:

final Pattern pattern = Pattern.compile("<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>(.*?)</\\1>");
    List<String> topicArray = new ArrayList<String>();
    final Matcher matcher = pattern.matcher("<City count='1' relevance='0.304' normalized='Shanghai,China'>Shanghai</City>");
    while (matcher.find()) {
        topicArray.add(matcher.group(1));
    }

系統僅給我輸出City而不是Shanghai。 它出什么問題了?

謝謝

您可以嘗試下一個:

private static final Pattern REGEX_PATTERN = 
        Pattern.compile("<[^>]*>([^<>]*)<[^>]*>");

public static void main(String[] args) {
    String input = "<City count='1' relevance='0.304' normalized='Shanghai,China'>Shanghai</City>";

    System.out.println(
        REGEX_PATTERN.matcher(input).replaceAll("$1")
    );  // prints "Shanghai"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM