Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 使用升华文本中的正则表达式将类的所有ID替换为特定名称_Css_Regex_Class_Sublimetext3 - Fatal编程技术网

Css 使用升华文本中的正则表达式将类的所有ID替换为特定名称

Css 使用升华文本中的正则表达式将类的所有ID替换为特定名称,css,regex,class,sublimetext3,Css,Regex,Class,Sublimetext3,我有一个巨大的CSS文件,我想使用文本编辑器中的查找和替换区域中的regEx将所有ID选择器转换为类选择器。我正在使用升华文本3 在这个文件中,我有一些需要考虑的十六进制颜色,如#333和#ff0000,并且regEx模式不应该跟踪它 预期结果 查找: #333/*不跟踪*/ #ff0000/*不跟踪*/ #找到item1/*项*/ #找到项目2/**/ #找到项目3/**/ 替换: #333/*不跟踪*/ #ff0000/*不跟踪*/ .item1/*完成*/ .item2/*完成*/ .i

我有一个巨大的CSS文件,我想使用文本编辑器中的
查找和替换
区域中的regEx将所有ID选择器转换为类选择器。我正在使用
升华文本3

在这个文件中,我有一些需要考虑的十六进制颜色,如
#333和#ff0000
,并且
regEx
模式不应该跟踪它

预期结果 查找:
#333/*不跟踪*/
#ff0000/*不跟踪*/
#找到item1/*项*/
#找到项目2/**/
#找到项目3/**/
替换:
#333/*不跟踪*/
#ff0000/*不跟踪*/
.item1/*完成*/
.item2/*完成*/
.item3/*完成*/
另外,名字上可以有数字,也可以没有数字。需要以与上述十六进制颜色图案不匹配的方式接受字母和数字

达到这一目标的最佳正则表达式模式是什么?
提前谢谢

我的猜测是,也许

#(?=item\d)

并替换为


如果您希望探索/简化/修改该表达式,它已被删除 在的右上面板上进行了说明 . 如果你愿意,你可以 也可以观看,它将如何匹配 对照一些样本输入



为什么不使用CSS解析器而不是正则表达式呢?可能有id为
ff0000
的元素。这只是为了练习我的正则表达式技能。我没有听说CSS解析器。有其他选择是好的。我对它进行了研究,发现了。他们建议将
postsss
作为一种更新的解决方案。我将对此进行更仔细的分析。谢谢你的提示!这就完成了#项目+编号的工作。但是,如果我只有一个名字而没有任何数字(#item),它就不起作用。尽管如此,多亏了您的进一步建议,我甚至可以找到一个补充解决方案:
#(?=item[\d]?)
,无论名称是否附有数字。顺便说一句,regEx调试器对我来说是个新东西,而且它非常棒。谢谢
#(?=item)