2012-09-18 48 views
-2

我用正則表達式,我應該嘗試這些問題:Java正則表達式下大寫

"<td><font size=1>LA SPEDIZIONE E' IN VIAGGIO</font></td> 
<td><font size=1>Hub Pacchi Milano</font></td>" 

首先,我嘗試用大寫字母,然後用一個大寫和小寫。 我停在這裏:

Pattern uppercase= Pattern.compile("<td><font size=1>(.*?)</font></td>"); 
Pattern lowcase = Pattern.compile("<td><font size=1>(.*?)</font></td>"); 

但是,這我期待的一切!我能怎麼做?

+2

不要用規則的表達式來分析HTML!請參閱http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html – hsanders

回答

0

雖然我強烈建議使用一個體面的HTML解析器來提取這些信息,與使用模式的大小寫敏感的方式解鎖,你可以使用以下命令:

String str = 
    "<td><font size=1>LA SPEDIZIONE E' IN VIAGGIO</font></td><td><font size=1>Hub Pacchi Milano</font></td>"; 
Pattern uppercase = Pattern.compile("<td><font size=1>(.*?)</font></td>", Pattern.CASE_INSENSITIVE); 
Matcher matcher = uppercase.matcher(str); 
while (matcher.find()) 
{ 
    System.out.println(matcher.group(1)); 
} 

輸出:

LA SPEDIZIONE E' IN VIAGGIO 
Hub Pacchi Milano 
+0

問題是除了那些我也標記html:「​​ 29-03-2012​​ 16:41「因此,此方法返回給我一切! – drKucho

+0

如果您使用group(1),爲什麼此方法會返回所有內容?組(0)會返回你​​...,對吧? – Vikdor

+0

不要用正則表達式來分析HTML!請參閱codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html –