import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?P<Hex>(?<=.[^\\}\\{])#(?:[\\dA-F]{6}|[\\dA-F]{3})(?=\\W[^\\}\\{]))+";
final String string = "#BED\n"
+ "{\n"
+ " color: #FfFdF8; background-color:#aef;\n"
+ " font-size: 123px;\n"
+ " background: -webkit-linear-gradient(top, #f9f9f9, #fff);\n"
+ "}\n\n"
+ "#Cab\n"
+ "{\n"
+ " background-color: #ABC;\n"
+ " border: 2px dashed #fff;\n"
+ "} \n\n"
+ "#dddd\n\n"
+ "Valid Hex Color Codes\n"
+ "#FFF \n"
+ "#025 \n"
+ "#F0A1FB \n\n"
+ "Invalid Hex Color Codes\n"
+ "#fffabg\n"
+ "#abcf\n"
+ "#12365erff\n\n"
+ "#BED{ color: #FfFdF8; background-color:#aef; font-size: 123px;}#Cab{ background-color: #ABC; border: 2px dashed #fff;}\n";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html