2024-09-28 18:54:37 发布
网友
我需要一些颜色的正则表达式,可以这样描述:
开始于# 然后3对相同的十六进制字符(0-9,a-f,a-f)。aA和aA也是同一对
现在我有了#(([0-9A-Fa-f]){2}){3}
如何为相同的十六进制字符对生成regexp?在
匹配字符串的一些示例: “#ffffffff”, “#000000”, “#AAAAA”, “#050505”, “####93#0b0B0b1B34”
像“#000100”这样的字符串不应该匹配
您可以将以下正则表达式与捕获组和反向引用一起使用:
#([0-9A-Fa-f]{2})\1{2}
参见regex demo
详细信息
#
([0-9A-Fa-f]{2})
\1{2}
注意:为了使\1backreference以不区分大小写的方式匹配第1组的内容,需要使用不区分大小写的标志。请记住,我们需要使用原始字符串文本来定义正则表达式,以避免跳过反向引用。在
\1
请参见Python demo:
结果:
使用re.search()函数:
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-IGNORECASEregex标志
re.I
您可以将以下正则表达式与捕获组和反向引用一起使用:
参见regex demo
详细信息
#
-a#
([0-9A-Fa-f]{2})
-第1组:2个十六进制字符\1{2}
-2连续出现与第1组相同的值。在注意:为了使
\1
backreference以不区分大小写的方式匹配第1组的内容,需要使用不区分大小写的标志。请记住,我们需要使用原始字符串文本来定义正则表达式,以避免跳过反向引用。在请参见Python demo:
^{pr2}$结果:
^{3}$使用
re.search()
函数:\1
-指向第一个带圆括号的组(...)
re.I
-IGNORECASEregex标志相关问题 更多 >
编程相关推荐