如何通过正则表达式 select css 文件中的所有 class 符号
How to select via regex all class notations in css file
通过使用 css 规则的 css 文件,我只想 select css class (即).tblGenFixed
但不是规则的 css 值(即)opacity: 0.3
.
这是我的正则表达式:
/(\.([\w_]+))/g
这是我的替代解决方案,但它不起作用
/(?!\{)(\.([\w_]+))(?!\})/g
我在这里用regex101设置了一个例子https://regex101.com/r/gG4nN4/1
如何忽略 css 规则值?
根据您的 CSS 的书写方式,您可以通过在句点之前要求空格来获得您要查找的内容:
\W/(\.([\w_]+))/g
根据您要查找的内容,您可能希望跳过其中一个捕获组:
\W\.([\w_]+)
我还警告不要在不手动检查结果的情况下使用正则表达式解析 CSS。
看到这个:Which characters are valid in CSS class names/selectors?
一个值在点后会有一个数字。幸运的是,有效的 CSS class 名称不能以数字开头:)
您的正则表达式必须首先匹配一个点,然后是一个字母或 - 或 _
! 如果您在点之前查找空格,则 .5 之类的值将匹配 ...
试试这个:(\.([a-zA-Z_-]{1}[\w-_]+))
编辑 :
也看到这个:Regex to match a CSS class name
-?[_a-zA-Z]+[_a-zA-Z0-9-]*
相关引用:
基本上,名称必须以下划线 (_)、连字符 (-) 或字母 (a–z) 开头,后跟任意数量的连字符、下划线、字母或数字。有一个问题:如果第一个字符是连字符,第二个字符必须是字母或下划线,名称必须至少有 2 个字符长。
通过使用 css 规则的 css 文件,我只想 select css class (即).tblGenFixed
但不是规则的 css 值(即)opacity: 0.3
.
这是我的正则表达式:
/(\.([\w_]+))/g
这是我的替代解决方案,但它不起作用
/(?!\{)(\.([\w_]+))(?!\})/g
我在这里用regex101设置了一个例子https://regex101.com/r/gG4nN4/1
如何忽略 css 规则值?
根据您的 CSS 的书写方式,您可以通过在句点之前要求空格来获得您要查找的内容:
\W/(\.([\w_]+))/g
根据您要查找的内容,您可能希望跳过其中一个捕获组:
\W\.([\w_]+)
我还警告不要在不手动检查结果的情况下使用正则表达式解析 CSS。
看到这个:Which characters are valid in CSS class names/selectors?
一个值在点后会有一个数字。幸运的是,有效的 CSS class 名称不能以数字开头:)
您的正则表达式必须首先匹配一个点,然后是一个字母或 - 或 _
! 如果您在点之前查找空格,则 .5 之类的值将匹配 ...
试试这个:(\.([a-zA-Z_-]{1}[\w-_]+))
编辑 :
也看到这个:Regex to match a CSS class name
-?[_a-zA-Z]+[_a-zA-Z0-9-]*
相关引用:
基本上,名称必须以下划线 (_)、连字符 (-) 或字母 (a–z) 开头,后跟任意数量的连字符、下划线、字母或数字。有一个问题:如果第一个字符是连字符,第二个字符必须是字母或下划线,名称必须至少有 2 个字符长。