2013-11-30 6 views

ответ

2

Заменить соответствие шаблону регулярного выражения (?<=\()\s+(?=t) с пустой строкой.

Regular expression visualization

Если любой алфавитно-цифровой символ может произойти после такого пространства, а затем использовать шаблон (?<=\()\s+(?=[^\W_])

Regular expression visualization

+1

Он делает именно то, что я хотел. А именно, оно соответствует только пробелу между символами, исключая символы. – Coddy

+0

@Coddy - '(? <= ...)' is lookbehind, '(? = ...)' is lookahead. Я обновил свой ответ на диаграммах, которые помогут вам понять это немного лучше. –

0

После регулярных выражений поиска/замены будет делать это для всех, а не только (t вхождений:

Поиск: \(([a-zA-Z])

Заменить: \(\1

Не забывайте проверять Регулярное выражение в нижней части диалогового окна.

+0

Он совпадёт пространство, но матч включает в себя символы, которые окружают тоже пространство. Он должен соответствовать только пространству. – Coddy

1

Per this answer Если вы используете версию 6.0 или более позднюю версию, вы можете использовать регулярные выражения, совместимые с Perl. Таким образом, вы можете выполнить следующий поиск и замену регулярных выражений.

replace (\W) (\w) with \1\2 
replace (\w) (\W) with \1\2 

Это удалит пространство между любыми не буквенно-цифровых символов и alphnumeric, а затем наоборот (цифрой, буквой, пространство, не цифрой, буквой).

+0

Он соответствует пространству, но в нем есть символы, которые окружают пространство. Он должен соответствовать только пространству. – Coddy

+0

Но когда вы его заменяете \ 1 \ 2, вы возвращаете окружающие символы, эффективно удаляя только пространство. – thesquaregroot

Смежные вопросы