[ID CS3 и ранее] Поиск шпаций (пробелов) средствами GREP

Статус
Закрыто для дальнейших ответов.

Dziglo

Участник
Топикстартер
Сообщения
221
Реакции
1
Добрый день.
Ищу двойные (тройные и т.д.) пробелы и заменяю их на одиночные пробелы.
ПОИСК:
\s{2,}
ЗАМЕНА:
\s

Но почему-то вместо двойных пробелов он у меня находит двойные концы абзаца («Enter'ы»). Почему?
 

Dziglo

Участник
Топикстартер
Сообщения
221
Реакции
1
Да, и двойные пробелы тоже находит (помимо двойных энтеров).
 

LeonidB

Их бин
10 лет на форуме
Сообщения
2 470
Реакции
1 530
Попробуйте так:
ПОИСК:
[[:blank:]]{2,}
ЗАМЕНА:
\s

Но двойные табуляторы тоже заменятся.
 
  • Спасибо
Реакции: Dziglo

Dziglo

Участник
Топикстартер
Сообщения
221
Реакции
1
Это не проблема, так и было задумано :)

А зачем? Ведь энтеры можно по-другому найти. Во всех справочниках по регулярке указано, что шпация (и только шпация) это \s.
А нешпация — \S.
А тут какая-то незадокументированная возможность (точнее незадокументированное препятствие).
 

LeonidB

Их бин
10 лет на форуме
Сообщения
2 470
Реакции
1 530
Во всех справочниках по регулярке указано, что шпация (и только шпация) это \s.

\s - это любое типа пустое место :) - пробел, энтер, перевод строки, табуляция...
В posix это обозначается как [[:space:]]. В отличие от [[:blank:]] - а вот это только пробелы и табуляции.
У кого-то, кто это разрабатывал, видимо, был резон так сделать.
 
  • Спасибо
Реакции: NNN5 и Dziglo
Статус
Закрыто для дальнейших ответов.