【发布时间】:2018-12-13 23:47:07
【问题描述】:
我需要匹配#aabbcc 格式的十六进制颜色才能将它们缩短为#abc。以下是一些示例:
-
#333333- 匹配 -
#666666- 匹配 -
#ff6666- 匹配 -
#ffaacc- 匹配 -
#d7d7d7- 不匹配 -
#e5e5e5- 不匹配
我之前使用过/#([0-9A-Fa-f])(?:\1){5}/g,它与前两个匹配,但我也需要第三个匹配。我卡住了,请帮忙:)
【问题讨论】:
-
@WiktorStribiżew 完美!非常感谢!
-
那么,哪一个按预期工作?也许,regex101.com/r/qoRbpv/4?
s.replace(/#([0-9A-Fa-f])\1([0-9A-Fa-f])\2([0-9A-Fa-f])\3/g, '#$1$2$3')? -
请参阅my answer below 的 JS 演示,我怀疑您正在使用 JS 来判断问题中的正则表达式文字。
-
@WiktorStribiżew 这最后一个正是我想要的!
#([0-9A-Fa-f])\1([0-9A-Fa-f])\2([0-9A-Fa-f])\3