extrasensory:
regist123, так я ровно по этому принципу и пытался сделать. Тут и есть три группы, три отдельных регулярки, которые по отдельности работают
1. Удаляем лишние пробелы перед знаками:
Код: ((\l) (\!|,|\)|\.|\:|\?|\;)) (?1$2$3:$4$5?$6;:) |
2. Добавляем пробелы после символов: (после точки в конце предложения и после запятой в середине предложения):
Код: \.(\u)|,(\l)|&(.) (?1. $1:)(?2, $2:)(?3& $3:) |
Создать один блок для всех случаев "добавить пробел ПОСЛЕ '?' '!' не смог, по отдельности, работают, а в один блок не понимаю:
Код: Код: 3. Добавить пробел перед символами: Насколько я понимаю, необходим только один вариант, "пробел перед открывающей скобкой, если его нет". У меня выходит приерно так:
Код: но такая конструкция создает в других местах двойные пробелы.
В любом случае, то самое "не пойми, что" выше, это и есть плод моих попыток собрать всё то, что здесь подсказали в одну регулярку.