Я пытаюсь решить задачу с помощью регулярных выражений.Дана функция со строковым параметром. Строка содержит (){}<>[]
фигурных скобок.Я должен проверить, является ли строка синтаксически верной, и я также должен взять количество вложений фигурных скобок.Это моя версия (не полная) `
const checkBraces = (str) => {
const newStr = str.replace(/[^(){}<>[\]]+/gi, '');
let answer = newStr.match(/\(+\)+|\<+\>+|\{+\}+|\[+\]+/g);
console.log(answer);
}
, и это минимальное количество тестов для функции`
checkBraces("---(++++)----") == 0
checkBraces("") == 0
checkBraces("before ( middle []) after ") == 0
checkBraces(") (") == 1
checkBraces("} {") == 1
checkBraces("<( >)") == 1
checkBraces("( [ <> () ] <> )") == 0
checkBraces(" ( [)") == 1
Если есть ошибка en, поэтому функция должна вернуть 1,еще 0.В своей функции я сначала попытался заменить все non-braces
, поэтому у меня есть четкая строка.Теперь я не могу решить эту проблему.