私は単純にすべての16進数の色の値をCSSファイルから取得しようとしています。 進値はので、ここで#FFFまたは#FFFFFF可能性があり、私はこのjavaを使用してCSSから16進数の色を抽出
"^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
"#([a-f0-9]{3}){1,2}/i"
"^#[0-9a-zA-F]{3}"
が、まったく機能していないために使用される正規表現です。
iは#969696 #CCC
#996633#333として結果を期待して....
しかし、何も、私は間違っているつもりです任意のアイデアを得ていないのですか?ここで
は、コードは次のとおりです。
final String HEX_PATTERN_STRING = "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$";
Pattern pattern = Pattern.compile(HEX_PATTERN_STRING);
try {
final URL CSS = new URL("https://maxcdn.bootstrapcdn.com/.../bootstrap.min.css");
URLConnection data = CSS.openConnection();
StringBuilder result = new StringBuilder();
try (BufferedReader in = new BufferedReader(
new InputStreamReader(
data.getInputStream())
)) {
in.lines().forEach(result::append);
Matcher matcher = pattern.matcher(result);
while (matcher.find()) {
System.out.println(matcher.group(0));
}
System.out.println("Done");
}
} catch (IOException ex) {
}
私はあなたが実際にどこでもあなたのマーチャと 'HEX_PATTERN_STRING'を関連付ける表示されません。 –
'final String HEX_PATTERN_STRING ="#(?:[A-Fa-f0-9] {6} | [A-Fa-f0-9] {3}) ";'を使って 'Pattern pattern = Pattern 'を追加してみてください。 'Matcher matcher'で始まる行の前にコンパイルします(HEX_PATTERN_STRING)。 –