-1
進出口面臨這樣的問題:正則表達式匹配
我有一個包含一些奇怪的HTML的東西一個字符串,如
String result = "<div id=\"foo\"><div class=\"bar\">xyz</div><div id=\"alert\"><strong>Foo Bar 2% foobar.</strong></div></div>"
(此字符串比這個例子更大的它包含整體網頁)
我現在的問題是:
- 找到行
<div id="alert"><strong>Foo Bar 2% foobar.</strong></div>
- 提取那裏的數字(數字)
2
(這可能是[0-9]{1,3}
)。
我嘗試:
String pattern = "<div id=\"alert\"><strong>(.+) (\\d{1,3})% (.+)</strong></div>";
Matcher matcher = Pattern.compile(pattern).matcher(result);
while(matcher.find()) {
Log.i(TAG, "" + matcher.group();
}
但這不會引發預期的結果(我想除了:2
)。
我主要是用PHP開發的,所以在這裏處理沒有問題(preg_match
),但我不知道如何在Java中做到這一點。
謝謝!
你可以jsoup從標籤中提取內容。 – Raghunandan
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – wtsang02
'regex'是你的問題..不要使用它..使用html解析器提取div標籤的值,然後使用正則表達式提取數字 – Anirudha