Я отлаживаю чей-то код и мне интересно, что делает это регулярное выражение?
Код:
<script>
var t = document.getElementById("filterVal").value;
var s = filterVal.replace(/"([^"]+(? = "))"/g, '$1')
</script>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Он удаляет сбалансированное количество двойных кавычек.
console.info('a"bc"de"f'.replace(/"([^"]+)(? = ")"/g, '$1'));
console.info('a"bc"d"e"f'.replace(/"([^"]+)(? = ")"/g, '$1'));
// a version without a positive lookahead (looks like the same result)
console.info('a"bc"de"f'.replace(/"([^"]+)"/g, '$1'));
console.info('a"bc"d"e"f'.replace(/"([^"]+)"/g, '$1'));Спасибо, ценю ваше время за предоставление примеров.
Как указано, в основном удаляются цитаты: say filteVal = "Сегодня солнечно"
var t = document.getElementById("filterVal").value;
var s = filterVal.replace(/"([^"]+(? = "))"/g, '$1')
//output: It's sunny today
Вы также можете попробовать это, просто щелкнув правой кнопкой мыши в Chrome, открыв проверку и набрав его в консоли.
Берется такая строка
"dummy string"и получается так:dummy string...