Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Примеры регулярных выражений

 
Post new topic   Reply to topic    Total Commander Forum Index -> Программное обеспечение printer-friendly view
View previous topic :: View next topic  
Author Message
Batya



Joined: 15 Dec 2004
Posts: 2231
Location: Москва, Россия

Post (Separately) Posted: Thu Jul 16, 2026 19:41    Post subject: Примеры регулярных выражений Reply with quote

Комрады, прошу помощи. Что-то мозг закипает.
Есть текст вида
Quote:
_|_123_|_124_|_125_|_123_|_126_|_127
_|_123_|_128_|_129

Задача - если в тексте встречается такой же текст, как в начале строки по шаблону "^(_\|_\d+_\|)", заменить на перенос строки такой текст в любом месте строки. Т. е. применительно к указанному примеру заменять нужно исключительно "_|_123_|", и должно получиться:
Quote:

_124_|_125
_126_|_127

_128_|_129

Заранее число, стоящее в начале строки неизвестно. Но заменять надо только блоки, содержащие число из начала строки.
Соответственно, аналогичный результат должен получиться и, например, для текста:
Quote:
_|_78_|_124_|_125_|_78_|_126_|_127
_|_78_|_128_|_129

Если принципиально, использую поиск в Notepad++.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1208

Post (Separately) Posted: Fri Jul 17, 2026 12:47    Post subject: Reply with quote

Batya wrote:
Что-то мозг закипает

Мозг действительно закипает Smile
Batya wrote:
Если принципиально, использую

А принципально использовать регулярные выражения? Может быть, для данной задачи лучше использовать скрипт?

Я сам никогда не пользовался, но есть, вроде, такие продвинутые вещи, как проверки и заглядывания вперед и назад (assertions: lookahead, lookahead), может быть, они подойдут для решения этой задачи?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2231
Location: Москва, Россия

Post (Separately) Posted: Fri Jul 17, 2026 13:08    Post subject: Reply with quote

На работе используется Notepad++. Необходимо оперативно по определённым правилам менять текст в несохранённом документе. Для этого хочу записать Notepad++-макрос. Вот для записи макроса и пытаюсь правильно составить регулярное выражение поиска и замены.
Ключевые моменты - текст, как я говорил, не сохранён в виде файла; буфер обмена при использовании макроса трогать крайне нежелательно.
Ну и для себя пытаюсь разобраться в ранее неосвоенных тонкостях регулярных выражений.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1208

Post (Separately) Posted: Fri Jul 17, 2026 13:26    Post subject: Reply with quote

Batya
Я понял.

Почему бы не подключить к этому делу ИИ? Он меня уже не раз выручал. Главное держать его в узде вопросы правильные к нему формулировать Very Happy
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 337
Location: Электросталь

Post (Separately) Posted: Fri Jul 17, 2026 20:16    Post subject: Reply with quote

Batya
Сейчас нет возможности опробовать (Notepad++ не пользуюсь), но судя по справке должно работать вот это:
Code:
Найти:
(?m-s)^(_\|_\d+_\|)(.+?\r\n)\1
Заменить:
\2

Если в файле окончания строк LF, тогда в поиске \r\n заменить на \n.
Попробуйте, пожалуйста, если не сработает, то скачаю портабельный Notepad++, погоняю.
_________________
Amo ergo sum
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1208

Post (Separately) Posted: Sat Jul 18, 2026 00:42    Post subject: Reply with quote

yozhik
А где пояснения в стиле ИИ? Very Happy

Кстати, он мне говорит, что за одну итерацию невозможно заменить все \1. Только программным путем Confused
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Программное обеспечение All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group