Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 十六进制数字的正则表达式_Java_Regex_Hex - Fatal编程技术网

Java 十六进制数字的正则表达式

Java 十六进制数字的正则表达式,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

我对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 = 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的问题。它可以匹配非灰色色码。