RegExp - пробелы
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
У меня проблема, есть допустим текст, в нём нужно все повторяющиеся пробелы заменить на восклицательный знак, но если находит в тексте кавычки, то, то что находится между ними, там не заменять пробелы, только те пробелы, которые вне кавычек! aka Latro Сообщение отредактировал DSC - Вторник, 08.06.2010, 14:24
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Code
<script> // Рабочая функция function removeSpaces(){ var commas = [] return arguments[0] .replace(/([^\\])((?:'(?:\\'|[^'])*')|(?:"(?:\\"|[^"])*"))/g,function(){ commas.push(arguments[2]) return arguments[1]+'~~~COMMAS'+commas.length+'~~~' }) .replace(/\s+/g,'!') .replace(/~~~COMMAS(\d+)~~~/g,function(){ return commas[--arguments[1]] }) } // Использование removeSpaces('текст') </script>
Спасибо в карму
Бесплатные обои.
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Aleko , где можно почитать о работе с аргументами?Очень важная тема! Filmzona — онлайн фильмы .
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
UnderShot , не поверишь)Бесплатные обои.
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Aleko , меня ещё интересует вот что, что значит --arguments[1] , что значит что минусы до аргументов?aka Latro
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Префиксный декремент - отнимание единицы и возвращение результата, аналог (arg = arg - 1) Бесплатные обои.
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Aleko , ааа, ну тогда понятно, спс =)aka Latro
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Aleko , а вот можешь сказать, что тут значит вот это:Code
/([^\\])((?:'(?:\\'|[^'])*')|(?:"(?:\\"|[^"])*"))/
мне интересно именно первые скобки, остальное я понялaka Latro
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
убедиться что первая скобка не экранирована Бесплатные обои.