#a:{width:100px;height:100px;background-color:black;}#b:{width:100px;}
我有上面的字符串
我希望字符:
仅在像#a
和#b
这样的css 选择器从这个字符串中删除之后
我认为我必须使用正则表达式所以我写了一个:
/[#\.A-Za-z0-9]+([:])[{]/g
查看此正则表达式在 regex101 上的工作
但你知道它匹配 :
但是当我尝试使用 replace
方法删除它时整个 #a:{
和 #b:{
被移除
任何帮助都会很棒!
最佳答案
正则表达式几乎是正确的。您需要做的是用 $1$2
而不是 null string
同时对正则表达式做一个小改动
/([#.A-Za-z0-9]+):({)/g
所做的更改
([#.A-Za-z0-9]+)
括在方括号中。匹配的字符串在$1
中捕获,因此对于第一个匹配项,$1
将包含#a
- 在字符类中不需要转义
。
因为它在类中失去了意义。
- 在字符类中不需要转义
[{]
到({)
[]
周围没有任何区别,因此放弃它。包含在()
中,因此在$2
中捕获,例如在第一个匹配中$2
将包含{
替换字符串
$1$2
将输出为
#a{width:100px;height:100px;background-color:black;} #b{width:100px;}
关于javascript - 如何只删除一串javascript中的一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27457359/