私はこの問題に直面しています:
次のような奇妙なHTMLを含む文字列があります
String result = "<div id=\"foo\"><div class=\"bar\">xyz</div><div id=\"alert\"><strong>Foo Bar 2% foobar.</strong></div></div>"
(この文字列は、この例よりもさらに大きく、Web ページ全体が含まれています。)
私の問題は今です:
- ラインを見つける
<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でのやり方がわかりません。
ありがとう!