正则周二挑战赛 - 第二周

第二个正则表达式挑战是个稍微棘手的挑战。 不像上次的挑战,这次是匹配任务,而不是替换任务。 在这个挑战中,你的任务是匹配CSS颜色。 CSS颜色理论上有多种值,但这次不会出现颜色名称,如 'red'。 具体请看下面的测试例子。

在你输入正则之后,每个测试用例都会标注为是否通过,红色是未通过,绿色是通过,因为是基于 web 的,所以只能使用基于 JavaScript 传统型 NFA (Traditional NFA)正则引擎。它类似于PCRE,但有一些不同之处。

如果你发现这个挑战太棘手,你可以简化它 - 例如,匹配所有的十六进制颜色(如 "#000"),然后组合到RGB颜色。 hsl 可能也比较棘手 - 尽你所能匹配更多结果。 对各种颜色的语法可以解释,看看这篇文章。祝你好运!

测试用例 (0/40)

#000
匹配
#aaa
匹配
#eEe
匹配
#111111
匹配
#6F6F6F
匹配
#efEfEF
匹配
rgb(0, 0, 0)
匹配
rgb(15,15,15)
匹配
rgb(2.5, 2.5,2.5)
匹配
rgb(1, 01, 000001)
匹配
rgb(20%, 20%,20%)
匹配
rgba(4,4,4,0.8)
匹配
rgba(4,4, 4,1 )
匹配
rgba(3,3,3,0.12536)
匹配
rgba(10%,10%,10%,5%)
匹配
hsl(20,0%, 50%)
匹配
hsl(0, 10%, 100%)
匹配
hsl(0.5, 10.5%, 0%)
匹配
hsl(5, 5%, 0%)
匹配
hsla(20, 0%, 50%, 0.88)
匹配
hsla(0, 0%, 0%, 0.25)
匹配
#ef4
不匹配
#eEf
不匹配
#11111e
不匹配
#123456
不匹配
rgb(2, 4, 7)
不匹配
rgb(10, 10,100)
不匹配
rgb(1.5%, 1.5%, 1.6%)
不匹配
rgba(1, 01, 0010, 0.5)
不匹配
hsl(20, 20%, 20%)
不匹配
hsl(0, 1%, 01%)
不匹配
hsla(0, 10%, 50%, 0.5)
不匹配
#11111
不匹配
#000000000
不匹配
rgb (1, 1, 1)
不匹配
rgb(10, 10, 10, 10)
不匹配
rgb(257, 257, 257)
不匹配
rgb(10%, 10, 10)
不匹配
hsl (20,0%, 50%)
不匹配
argb(1,1,1)
不匹配
恭喜,你的正则通过了所有测试用例,记住要分享这个挑战哦。