Помогите с регулярным выражением для ФИО

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

altvip

Топикстартер
12 лет на форуме
Сообщения
269
Реакции
71
Очень много фамилий в тексте набрано вот так В. А. Иванов (то есть В._пробел_ А._пробел_Иванов). Хочется заменить на В._six space_А._пробел Иванов.

Можете помочь с выражением. Я честно не очень в них разбираюсь
 

suntory

Administrator
15 лет на форуме
Сообщения
23 438
Реакции
12 479
Код:
(\u\.)\s(\u\.)\s(\u\l)
$1~%$2~%$3
 

egor_f

12 лет на форуме
Сообщения
21
Реакции
8
найти:
(\u\.)(\ )(\u\.)(\ )(\u)
заменить на:
$1 $3 $5

(там пробелы внутри)
 

kstati

иɯɐɯɔʞ
10 лет на форуме
Сообщения
1 138
Реакции
512
Код:
(\u\.)\s(\u\.)\s(\u\l)
$1~%$2~%$3
Предлагаю оптимизировать этот вариант до:
Код:
(\u\.)\s?(\u\.)\s?(?=\ul) => $1~%$2~%
В результате незахвата первых букв фамилии уменьшится нагрузка на движок грэп — запрос будет выполнен немного быстрее; в результате нечёткого захвата пробелов появляется возможность исправить возможные ошибки — их отсутствие.
 
  • Спасибо
Реакции: suntory

altvip

Топикстартер
12 лет на форуме
Сообщения
269
Реакции
71
Большущее спасибо, всё получилось. Только я всё равно нчего не понял))))) Есть какой-то хоть учебник или статьи по GREP? Можете что-то посоветовать, чтоб хоть понимать что делаешь, что означают все эти доллары, бэкслэши, тильды и т.д))))
 

altvip

Топикстартер
12 лет на форуме
Сообщения
269
Реакции
71
Спасибо, почитаю
 
Статус
Закрыто для дальнейших ответов.