-1
我希望有人能幫助我理解爲什麼會這樣:麻煩的正則表達式
String s = "tbody\n" +"a\n" +"/tbody";
Pattern p = Pattern.compile("tbody[^(/tbody)]+/tbody");
Matcher m = p.matcher(s);
while(m.find()){
System.out.println("found: \n\n"+m.group());
}
輸出是:
found:
tbody
a
/tbody
但如果String s = "tbody\n" +"ao\n" +"/tbody"
(我添加了一個後O)它什麼都不印。任何人都可以告訴我我錯過了什麼嗎?
我正在使用NetBeans 7.4。
正則表達式中的[[]]是一個*字符類* - 現在你知道這個名字,查找它:)在任何情況下,只考慮使用*非貪婪/惰性量詞*:'tbody (。*?)/ tbody'(您可能還對*單詞界限感興趣*)。 – user2864740
您似乎在試圖弄清楚如何使用正則表達式解析HTML。由於HTML不是常規語言,因此這是一個非首選項。請閱讀[這個答案](http://stackoverflow.com/a/1732454/18157) –
@JimGarrison我不知道我想要做的是解析。我需要收集來自特定網站的信息,這些信息位於這些標籤之間。 – user2847339