。前者是正则断言匹配,后者是选择器匹配。接下来看看相似性分析。
- 正则是用来做什么的?匹配字符的。
- 选择器是用来做什么的?匹配元素的。
既然都是用来匹配的,那么,如果二者在一些地方有什么相似之处,应不足为奇。我发现就有很强的相似性。这里容我慢慢道来。本文假设读者对选择器更熟悉些,所以下面的例子都是先,后正则。1. 匹配所有元素,让所有元素的字都变成红色。此处不会使用同样的,正则这边也不需要使用。2. 匹配第1个元素相应的,正则其实也可以用之后的位置,当然还是开头。可以参考《JS正则迷你书》对位置的讲解。3. 匹配第3个元素而正则这边呢?这里需要转个弯,要匹配第4. 匹配前3个元素选择器厉害之处是在于它支持正则这边,要匹配的字符前面有5. 匹配奇数位这边使用正则这边,要匹配的字符前面有...个字符:6. 更一般的 an+b比如这边使用即:要匹配的字符前面还有正则这边呢?表示后面的位置,与之相对的是
更多的,与前几条类似,这里就不写了。
在表示后面的位置。而有点绕,它表示所有位置中,不是。9. :nth-child(n+3):nth-child(-n+7)也可以支持交集的交并补,还有并集,
自此,这么一条条看下来,发现了二者确实有多相似之处。这种跨界比较,我觉得很有趣!