python regex 3 相同的 [0-9A-Fa-f] 对

标签 python regex hex

我需要某种颜色的正则表达式,可以这样描述:

以#开头 然后是 3 个相同的十六进制字符对(0-9、a-f、A-F)。 aA 和 Aa 也是同一对

现在我有 #(([0-9A-Fa-f]){2}){3}

如何为相同的十六进制字符对创建正则表达式?

匹配字符串的一些示例: “#FFFFFF”, “#000000”, “#aAAAaaA”, “#050505”, “###93#0b0B0b1B34”

像“#000100”这样的字符串不应该匹配

最佳答案

使用re.search()函数:

import re

s = '#aAAaaA'
match = re.search(r'#([0-9a-z]{2})\1\1', s, re.I)
result = match if not match else match.group()

print(result)
<小时/>
  • \1 - 指向第一个括号组 (...)

  • re.I - IGNORECASE 正则表达式标志

关于python regex 3 相同的 [0-9A-Fa-f] 对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47200139/

相关文章:

python - 代码可以在 IDLE 中运行,但不能在 PyCharm 中运行

python - 运输优化(PuLP)

python - 从向量中动态追加和删除元素

regex - 是否可以使用 sed 可靠地转义正则表达式元字符

assembly - 如何从 4 位十六进制转换为 7 位 ASCII?

Python:NGINX+FLASK 的 uWSGI 配置

java - 如何仅在分隔符之间提取数字?

c# - 在不拆分的情况下在字符串中查找单词的任何方法

c++ - 如何将字符数组转换为基于字符串的十六进制流 (ostringstream)

C# + N单元 : Unit testing methods with byte array arguments