Java 十六进制数字的正则表达式
我对Regex非常陌生,因此我很难想出如何制作以下内容: 正则表达式查找颜色和颜色的Html样式十六进制表示 如何生成正则表达式以查找灰色十六进制代码,例如#7c7cJava 十六进制数字的正则表达式,java,regex,hex,Java,Regex,Hex,我对Regex非常陌生,因此我很难想出如何制作以下内容: 正则表达式查找颜色和颜色的Html样式十六进制表示 如何生成正则表达式以查找灰色十六进制代码,例如#7c7c 非常感谢 使用捕获组和反向引用: "#([0-9A-Fa-f]{2})\\1\\1" 例如: Pattern pattern = Pattern.compile("#([0-9A-Fa-f]{2})\\1\\1"); String css = "#abcdef #7C7C7C #001122"; Matcher matcher
非常感谢 使用捕获组和反向引用:
"#([0-9A-Fa-f]{2})\\1\\1"
例如:
Pattern pattern = Pattern.compile("#([0-9A-Fa-f]{2})\\1\\1");
String css = "#abcdef #7C7C7C #001122";
Matcher matcher = pattern.matcher(css);
if (matcher.find())
System.out.println(matcher.group());
输出:
#7C7C7C
使用捕获组和反向引用:
"#([0-9A-Fa-f]{2})\\1\\1"
例如:
Pattern pattern = Pattern.compile("#([0-9A-Fa-f]{2})\\1\\1");
String css = "#abcdef #7C7C7C #001122";
Matcher matcher = pattern.matcher(css);
if (matcher.find())
System.out.println(matcher.group());
输出:
#7C7C7C
此图案与#FFFFff#fffff等颜色不匹配。大多数浏览器都接受这些方法。@neoexpert解决方案在匹配前将字符串转换为小写/大写。我使用这个:“#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\\b”。这很好,因为它忽略了无效的颜色代码,比如#ffff@neoexpert,这种模式不能解决OP的问题。它可以匹配非灰色的颜色代码。此图案与#FFFFff#fffff等颜色不匹配。大多数浏览器都接受这些方法。@neoexpert解决方案在匹配前将字符串转换为小写/大写。我使用这个:“#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\\b”。这很好,因为它忽略了无效的颜色代码,比如#ffff@neoexpert,这种模式不能解决OP的问题。它可以匹配非灰色色码。