Javascript Regex-复制CSS选择器并替换为新选择器
为了限制大型项目中不同各方使用的css库的范围(从而减少冲突),我成功地创建了一个正则表达式代码,该代码使用给定的选择器(在本例中为#test id,示例:)在所有css选择器前面加上一个前缀 为了使这一努力更加有用,我想Javascript Regex-复制CSS选择器并替换为新选择器,javascript,regex,regex-group,Javascript,Regex,Regex Group,为了限制大型项目中不同各方使用的css库的范围(从而减少冲突),我成功地创建了一个正则表达式代码,该代码使用给定的选择器(在本例中为#test id,示例:)在所有css选择器前面加上一个前缀 为了使这一努力更加有用,我想 复制所有带前缀的选择器(具有前面的#测试id并以、或{结尾的选择器) 用另一个选择器替换#test id的重复值(比如第#test-id-1节) CSS示例: #测试id.面包屑, #测试id按钮{ 用户选择:无; 字体系列:“Helvetica Neue”,Helvet
、
或{
结尾的选择器)CSS示例:
#测试id.面包屑,
#测试id按钮{
用户选择:无;
字体系列:“Helvetica Neue”,Helvetica,Arial,无衬线
}
@介质屏幕和(最小宽度:769px),打印{
#测试id.is-size-1-片剂{
字体大小:3rem!重要
}
}
这应该可以:
s = s.replace(/(#test-id.+),/g, "$1,\nsection$1,")
s = s.replace(/(#test-id.+){/g, "$1,\nsection$1{")
对于这两个选项,我们需要两个正则表达式:
1.如果定义不是最后一个(即以逗号结尾)
2.如果是最后一个(以大括号结束)
这里有一个小问题:您使用的是哪种编程语言?我使用的是Erlang,但JavaScript中的示例会很好谢谢,它在示例中起作用,如果我们想用完全不同的东西替换#test id,而不仅仅是在前面加上“section”?JonRiel您能提供一个示例吗“完全不同的东西”?:)当然!:)比如“#content”应该是#content.is-size-1-tablet{…}@JonRiel我想你的replace()应该是s=s.replace(/(#测试id)(.+),/g,“#测试id$2,\n#content$2”)