Вставить тире в строку перед словами в верхнем регистре

Sunday

Cōgitō ergō sum
Регистрация
13 Дек 2009
Сообщения
823
Реакции
342
Есть большой список такого типа:
Александр Башлачев ВРЕМЯ КОЛОКОЛЬЧИКОВ
Дельфин ВЕСНА
Егор Летов ВСЕ КАК У ЛЮДЕЙ
Владимир Высоцкий БАЛЛАДА ОБ УХОДЕ В РАЙ
Калинов Мост РОДНАЯ
Любэ КОНЬ
Слова и фразы в верхнем регистре — это названия песен. Подскажите, как при помощи регулярки вставить между исполнителем и названием тире?

Спасибо!

Меняю это
Код:
(.*) ([А-ЯA-Z ]*)
на это:
Код:
$1 - $2
Но все строки, где правая часть состоит более чем из одного слова заменяются некорректно. Например так:
Владимир Высоцкий БАЛЛАДА ОБ УХОДЕ В - РАЙ
вместо:
Владимир Высоцкий - БАЛЛАДА ОБ УХОДЕ В РАЙ
Чёта с пробелами не так?
 
Последнее редактирование:
#([А-ЯЁA-Z\s]{3,})#u
 
Последнее редактирование:
@Q_BASIC ничё не понял :confused: Шо с этим добром делать и где тут тире пихать? Это для php?
Мне бы регулярку для notepada например :ah:
 
Последнее редактирование:
Php:
PHP:
preg_replace('#([A-ZА-ЯЁ\s]{3,})#u', ' -$1', 'Александр Башлачев ВРЕМЯ КОЛОКОЛЬЧИКОВ
Дельфин ВЕСНА
Егор Летов ВСЕ КАК У ЛЮДЕЙ
Владимир Высоцкий БАЛЛАДА ОБ УХОДЕ В РАЙ
Калинов Мост РОДНАЯ
Любэ КОНЬ');

Нотепад:
Заменить ([A-ZА-ЯЁ\s]{3,}) на - $1
 
Последнее редактирование:
Заменить ([A-ZА-ЯЁ\s]{3,}) на - $1
Может я чёта не понимаю, но эта конструкция не работает. :confused:
В 1-м сообщении я привёл полурабочий пример. Там тока с правой частью проблема почему-то. не могу понять в чём трабл :conf:
 
Может я чёта не понимаю, но эта конструкция не работает. :confused:
В 1-м сообщении я привёл полурабочий пример. Там тока с правой частью проблема почему-то. не могу понять в чём трабл :conf:
Галочка "учитывать регистр" есть? А с "и новые строки" лучше убрать. Заменять на " -$1"

У меня всё работает
 
Назад
Сверху