Check balanced parenthesis or brackets with stack--
var excp = "{{()}[{a+b+b}][{(c+d){}}][]}";
var stk = [];
function bracket_balance(){
for(var i=0;i<excp.length;i++){
if(excp[i]=='[' || excp[i]=='(' || excp[i]=='{'){
stk.push(excp[i]);
}else if(excp[i]== ']' && stk.pop() != '['){
return false;
}else if(excp[i]== '}' && stk.pop() != '{'){
return false;
}else if(excp[i]== ')' && stk.pop() != '('){
return false;
}
}
return true;
}
console.log(bracket_balance());
//Parenthesis are balance then return true else false
dit
удалит текст между совпадающими тегами XML. ( это
для «внутреннего блока тегов».)
См. : h it
и : h tag-блоки
.
попробуйте dt <, пока курсор находится на первом удаляемом символе. В вашем примере "H".
( курсор на первом удаляемом символе ) v / <[enter] d
Это решение начинается с первого символа, затем входит в визуальный режим («v»). Затем он ищет следующую начальную скобку ("/ <"), а затем нажимает клавишу ВВОД, чтобы выйти из поиска.
На этом этапе ваш визуальный выбор закроет текст, который нужно удалить. нажмите d («d»), чтобы удалить его.
Если бы мне пришлось сделать это для группы тегов, я бы записал команду и объединял ее с другими поисковыми запросами, чтобы сделать ее повторяемой. Последовательность клавиш может выглядеть так:
[ курсор в начале файла ] qa /> [enter] lv / <[enter] dnq
, затем нажмите:
20 @ a
, чтобы сделать это для 20 тегов