javascript - css 数据属性选择器的正则表达式

标签 javascript css regex uncss

尝试在这里对一些 CSS 进行后处理,需要一个正则表达式来选择 CSS 中的数据属性选择器。

它需要选择以下选择器(只是选择器但完整):

[data-attr] {
 // some css
}

.cool-class[data-another-attr] {
 // some css
}

#id[data-one-more-attr] {
 //  some css
}

这样会选择 [data-attr].cool-class[data-another-attr]#id[data-one-more -attr].

What I have so far (甚至没有关闭):

/(\[data-*)\w/g

预先感谢您的帮助,RegEx 总是难倒我。

最佳答案

您可以使用以下正则表达式

((#|\.)?[\w-]+)?(\[data(-\w+)+\])/g

解释:

  1. (#|\.)?:匹配 #. 文字可选
  2. [\w-]+:匹配任意字母数字字符与-任意次数
  3. ((#|\.)?[\w-]+)?:可选匹配 CSS idclass 选择器(?)
  4. (\[data(-\w+)+\]):匹配data属性

Demo

RegEx101 Demo

关于javascript - css 数据属性选择器的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31542767/

相关文章:

javascript - 如何将字符串变量传递给 JSP 中的 javascript onClick 函数

javascript - 字符串中间的正则表达式验证空间

javascript - 匹配除匹配(多字)模式之外的所有字符

regex - 使用 HTACCESS 将页面重定向到其中包含问号的 URL?

javascript - PHP 函数仅在未直接访问时运行

javascript - 在 javascript 中编写更高效的代码

javascript - Bootstrap Carousel 不工作(一次显示所有图像)

javascript - Jquery slideToggle() 到一定高度?

jquery - 当鼠标悬停在元素右侧的元素上时,在图像下方显示一个框

php - 使 CSS 中半消失的元素可见