我有一个XML文件,包含(在很多其他东西中)十六进制颜色代码。我想检查所有导致灰色阴影的代码。模式是
所以它应该匹配#eee,#EEEEEE,#333333但不是#00006d,#123456等等。关于正则表达式,理想情况下它应该在 Notepad ++ 中工作,如果没有选项,则Python 2.7是另一种选择。
我尝试使用我找到here的反向引用运算符。到目前为止,我最好的尝试是
#([0-9a-fA-F])\1{3}[^0-9a-fA-F]
但我遇到了一些麻烦:
{3}
替换为{2}
以匹配正好三次重复,但我不明白为什么{3,6}
应该匹配3次,4次,5次或6次重复,但我怎样才能排除4次和5次重复?我想过#([0-9a-fA-F])\1{3}[^0-9a-fA-F]|#([0-9a-fA-F])\1{6}[^0-9a-fA-F]
但是必须有一个不那么难看的语法,对吗?答案 0 :(得分:1)
答案 1 :(得分:-2)
#([0-Fa-f][0-Fa-f])(\1{2}|\1{5})\b
匹配#AAA
,#AAAAAA
以及#ABABAB
类型灰色。
BTW,[0-Fa-f]
与[0-9a-fA-F]
相同。
编辑:我是蓉。