Я пытаюсь написать компилятор JavaScript, где мне нужно иметь дело с большим количеством символов программирования, поэтому моя программа немного сложнее, чем другие программы.У меня есть неполные фрагменты кода в переменной a в виде строки, я хочу извлечь полное свойство @ style , избегая обратных несвязанных символов, и преобразовать его в чистый объект из неполного объекта(Это на самом деле строка).Если вы не поняли, посмотрите приведенный ниже пример вывода:
Я пробовал это много раз, но из-за отсутствия концепции для решения такого рода проблем я не смог ее решить, пожалуйста, помогите мне.
var a = `@style":{".time":{color:"red"}}}`;
var b = `@style":{".time":{color:"red" , height:'10px'}}}}}}))}`;
var b = `@style":{".time":{
color:"red" ,
height:'10px'
},
"@keyframes example" : {
"0%" : {background-color: 'red'},
"25%" : {background-color: 'yellow'}
}
}}}}}))}{`;
Expexted Output:
a = {".time":{color:"red"}}
b = {".time":{color:"red" , height:'10px'}}
c = {
".time":{
color:"red" ,
height:'10px'
},
"@keyframes example" {
"0%" : {
background-color: "red"
},
"25%" : {
background-color: "yellow"
}
}
}
Например, вы можете ясно видеть скобки } и {, соответствующие друг другу, только взяты, но скобки, которые не имеют соответствующего отверстия/ закрывающая скобка исключается.
Для ясного понимания проблемы:
Допустим, переменные a , b и c содержит полный объект, из которого мне нужно извлечь полное свойство @ style .
Пожалуйста, помогите мне