Css 使用升华文本中的正则表达式将类的所有ID替换为特定名称
我有一个巨大的CSS文件,我想使用文本编辑器中的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
查找和替换
区域中的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)