返回
正则表达式教程:16进制颜色匹配
正则表达式
2024-02-28 16:05:21
一、正则解释
正则表达式:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3}|[a-fA-F0-9]{8}|[a-fA-F0-9]{4})$/
解释:
- ^#? :匹配开头处可选的 "#" 字符。
- ([a-fA-F0-9]{6}|[a-fA-F0-9]{3}|[a-fA-F0-9]{8}|[a-fA-F0-9]{4}) :匹配以下四种格式的 16 进制颜色代码:
- 六位十六进制数字(例如:#ffffff)
- 三位十六进制数字(例如:#fff)
- 八位十六进制数字(例如:#ffffff00)
- 四位十六进制数字(例如:#ff00)
- $ :匹配字符串的末尾。
二、使用场景
此正则表达式可用于:
- 验证输入的 16 进制颜色代码是否有效。
- 从文本中提取 16 进制颜色代码。
- 比较和匹配不同的 16 进制颜色代码。
三、代码示例
JavaScript
const regex = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3}|[a-fA-F0-9]{8}|[a-fA-F0-9]{4})$/;
const isValidColor = (color) => {
return regex.test(color);
};
Java
import java.util.regex.Pattern;
public class ColorMatcher {
private static final Pattern PATTERN = Pattern.compile("^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3}|[a-fA-F0-9]{8}|[a-fA-F0-9]{4})import java.util.regex.Pattern;
public class ColorMatcher {
private static final Pattern PATTERN = Pattern.compile("^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3}|[a-fA-F0-9]{8}|[a-fA-F0-9]{4})$");
public static boolean isValidColor(String color) {
return PATTERN.matcher(color).matches();
}
}
quot;);
public static boolean isValidColor(String color) {
return PATTERN.matcher(color).matches();
}
}
PHP
<?php
$regex = '/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3}|[a-fA-F0-9]{8}|[a-fA-F0-9]{4})$/';
function isValidColor($color) {
return preg_match($regex, $color);
}
Python
import re
regex = r'^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3}|[a-fA-F0-9]{8}|[a-fA-F0-9]{4})import re
regex = r'^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3}|[a-fA-F0-9]{8}|[a-fA-F0-9]{4})$'
def is_valid_color(color):
return bool(re.match(regex, color))
#x27;
def is_valid_color(color):
return bool(re.match(regex, color))