我正在研究一个将从css文件返回所有可用类的正则表达式。到目前为止我有这个:
/\.[\w-_]+[^\.\s\{#:\,;]/g
这很好但它也捕获了一些css规则。例如:
.sky-form .button {
background-color: #2da5da;
opacity: 0.8;
transition: opacity 0.2s;
-o-transition: opacity 0.2s;
-ms-transition: opacity 0.2s;
-moz-transition: opacity 0.2s;
-webkit-transition: opacity 0.2s;
}
它将返回“.sky-form”“.button”和“.2s”。如何防止正则表达式从大括号之间返回任何内容?
/(?:[\.]{1})([a-zA-Z_]+[\w-_]*)(?:[\s\.\{\>#\:]{1})/igm
最后一部分(?:[\ s。{>#:] {1})是为了确保它不捕获任何图像链接,如.png或jquery.11.1.custom /
答案 0 :(得分:0)
你需要告诉它在初始阶段之后不允许数字作为第一个字符。
\.[a-zA-Z_][\w-_]*[^\.\s\{#:\,;]
上面的正则表达式允许以大写和小写的a-z或下划线开头的类名。
答案 1 :(得分:0)
/(\.[\w-_]+\s)/gmi
我认为应该做的伎俩。 https://regex101.com/r/zE8mM6/1