Автор: Vibe Apps Pro Team · Опубліковано: 2026-08-08
Як зробити пошук і заміну тексту масово (без Word)
Масовий пошук і заміна тексту онлайн з повною підтримкою регулярних виразів — без Word, без завантаження на сервер. Спробуй безкоштовно.

Щоб зробити пошук і заміну тексту онлайн масово, необов'язково тримати відкритим Microsoft Word — браузерний інструмент зі справжніми регулярними виразами впорається швидше і не спотикається на блоці, вставленому з PDF, експорту з CMS чи файлу коду, як це буває з діалогом Ctrl+H у Word. Встав текст, задай шаблон пошуку, натисни «Замінити все» один раз — і всі збіги оновляться за один прохід, безкоштовно й без інсталяцій.
Ось як це працює покроково, де саме версія Word не витягує масові правки, і які шаблони варто тримати напохваті.
Чому Пошук і заміна у Word не витягує масові правки
Діалог Ctrl+H у Word чудово підходить для одноразового виправлення одруку в одному .docx-файлі. Але щойно «масово» означає більше, ніж жменю кліків, він стає повільним і ненадійним: текст, вставлений ззовні Word, часто тягне за собою форматування, яке Word автоматично не прибирає, а його синтаксис пошуку за шаблоном — це не той регекс, який задокументований будь-де ще.
У Word справді є чекбокс «Use wildcards» (Ctrl+H → More >> → Use wildcards), який відкриває пошук за шаблоном. Просто це не стандартний регекс — це окремий, старіший синтаксис із власними метасимволами:
| Завдання | Шаблони Word | Справжній регекс (браузерний інструмент) |
|---|---|---|
| Знайти будь-яку цифру | [0-9] | \d |
| Знайти межу слова | < (початок слова) / > (кінець слова) | \b |
| Один або більше попереднього символу | @ | + |
| Група захоплення / зворотне посилання | (...) у пошуку, \1 у заміні | (...) у пошуку, $1 у заміні |
| Будь-яка Unicode-літера (кирилиця, діакритика) | Немає відповідника | \p{L}+ із флагом u |
Саме останній рядок і ламає все на практиці. У шаблонному движку Word немає поняття Unicode property classes, тож шаблон, який мав би ловити «Іван Петренко» чи «José García» поряд із «John Smith», у Word потребує обхідного шляху — а в регекс-движку з підтримкою \p{L} просто працює.
Швидший спосіб: одна вставка, один прохід
Пропусти всі діалогові вікна. Встав весь блок тексту в наш інструмент Пошук і заміна — працює на 100% у твоєму браузері, жодні дані не йдуть на сервер — і весь процес складається з чотирьох кроків:
- Встав свій текст. Ніякого завантаження файлів, ніякої конвертації форматів — звичайний текст одразу йде в поле.
- Введи термін пошуку. Увімкни Use Regex, якщо шукаєш за шаблоном, а не буквальний рядок.
- Налаштуй Case Sensitive і Global під свою задачу — що саме змінює кожен перемикач, дивись у FAQ нижче.
- Перевір підсвічені збіги, а тоді натисни Replace All. Усі збіги оновлюються за один прохід — без циклу «Замінити» → «Знайти наступне» → «Замінити».
Лічильник збігів одразу показує, скільки замін відбудеться, ще до того як ти їх підтвердиш, а візуальне підсвічування (перший збіг — яскраво-жовтим, решта — світлішим відтінком) дає змогу оком перевірити, чи шаблон зловив саме те, що треба, перш ніж щось перезаписувати.
Буквальний рядок чи регекс? Обирай інструмент під задачу
Не кожна масова правка потребує регексу — тягнутися по шаблон, коли вистачило б звичайного рядка, лише додає шанс помилитися в синтаксисі. Ось як визначитися:
| Завдання | Підхід | Шаблон / термін |
|---|---|---|
| Уніфікувати неправильно написану назву продукту | Буквально, з урахуванням регістру | "Editly App" → "EditlyApp" |
| Виправити подвійні пробіли після крапки | Буквально | ". " (два пробіли) → ". " |
| Видалити номери телефонів перед публікацією | Регекс | /\d{3}-\d{3}-\d{4}/g |
| Прибрати HTML-теги перед чистим підрахунком слів | Регекс, лінивий квантифікатор | /<.*?>/g → порожній рядок |
| Уніфікувати імена різними мовами | Регекс з підтримкою Unicode | /\p{L}+/gu |
Для глибшого занурення в синтаксис регексу — групи захоплення, жадібне проти лінивого зіставлення, повна таблиця метасимволів — читай гайд з регекс пошуку і заміни, тут на це просто не вистачить місця.
Групи захоплення: масове редагування, що переставляє, а не просто замінює
Більшість масових замін підставляють один рядок замість іншого. Прийом, який реально економить години, — переставляти те, що вже є. А для цього потрібні групи захоплення.
Візьми частину патерна в дужки — і вона стає пронумерованою групою, до якої можна звернутися в рядку заміни через $1, $2 і так далі. Заміна виконується нативним String.replace() з JavaScript, тож стандартний синтаксис $n працює рівно так, як задокументовано.
Канонічний випадок — список імен у неправильному порядку:
| Патерн | Заміна | Результат | |
|---|---|---|---|
| Імена | (\w+), (\w+) | $2 $1 | Шевченко, Тарас → Тарас Шевченко |
| Дати | (\d{4})-(\d{2})-(\d{2}) | $3.$2.$1 | 2026-08-08 → 08.08.2026 |
| Markdown-посилання | \[(.*?)\]\((.*?)\) | $1 ($2) | [довідка](/help) → довідка (/help) |
Триста рядків переставлено за один прохід. Руками це вечір роботи; звичайним пошуком і заміною — неможливо взагалі, бо буквальний пошук не має як запам'ятати те, що знайшов.
Одне застереження варто засвоїти: $1 — стандарт для JavaScript, для re.sub у Python (там як \1) і для більшості сучасних інструментів, але режим підстановчих знаків у Microsoft Word використовує \1. Патерни, скопійовані з туторіала по Word, вставлять у твій текст буквальний зворотний слеш із одиницею замість захопленої групи — і Word про це не попередить.
Перевір кількість збігів, перш ніж щось замінювати
Одна звичка, яка рятує від зіпсованих масових правок: подивись на лічильник збігів, перш ніж тиснути «Замінити все».
Інструмент рахує збіги наживо, поки ти набираєш патерн, і підсвічує їх у тексті. Це число — твоя перевірка на здоровий глузд. Якщо очікуєш виправити 40 входжень назви продукту, а лічильник показує 400, патерн надто жадібний — найімовірніше, ловить збіги всередині довших слів. Якщо показує 0, хоча ти впевнений, що текст там є, у тебе проблема з невидимими символами (про це нижче) або з регістром.
Масові заміни руйнівні й спрацьовують усюди одночасно. Десять секунд на читання одного числа дешевші за відкат правки, яка тихо зіпсувала 300 рядків.
Пастка невидимих символів
Найпоширеніша причина, чому «очевидно однаковий» буквальний пошук не знаходить жодного збігу: на рівні байтів текст насправді не ідентичний, хоча на екрані виглядає саме так.
Текст, скопійований з PDF, часто містить нерозривні пробіли (U+00A0) замість звичайних (U+0020) — вони рендеряться однаково, тож буквальний пошук звичайного пробілу мовчки не знаходить збігу. «Розумні» лапки, вставлені з Word (“ ”), мають ту саму проблему: вони не збігаються з прямими лапками (") у фрагменті коду чи CSV-файлі, хоча обидва варіанти на екрані виглядають як звичайні лапки. Якщо пошук постійно повертає нуль результатів у тексті, де шуканий фрагмент точно є, зазвичай причина саме в цьому.
Спочатку пропусти блок тексту через Виправити пробіли — інструмент нормалізує нерозривні пробіли, прибирає символи нульової ширини й вирівнює «розумні» лапки до ASCII за один прохід — і тоді буквальний пошук і заміна поведеться саме так, як ти очікуєш. У гайді про видалення зайвих пробілів детально розписано, які саме невидимі символи зазвичай лишають після себе PDF-файли та вебсторінки.
Після масової заміни: перевір, чи не з'явилися дублікати
Масштабна заміна іноді створює дублікати, яких раніше не було — наприклад, уніфікація трьох різних написань назви компанії в одне може лишити три тепер уже ідентичні рядки там, де раніше було три різні. Наступний прохід через Видалити дублікати ловить цей побічний ефект до того, як текст піде в реліз. Якщо прибираєш список, а не суцільний текст, гайд про видалення дублікатів рядків розбирає пастки з регістром і пробілами, через які дедуп пропускає те, що мав би зловити.
Регістр — ось де масові заміни найчастіше ламаються
Найпоширеніша помилка масової заміни — не поганий шаблон, а випадково залишений увімкненим Case Sensitive. Шукай «word» з увімкненим Case Sensitive — і мовчки пропустиш кожне «Word» на початку речення й кожне «WORD» у заголовку, без жодного попередження про помилку. Якщо ти не полюєш конкретно на назву змінної з точним регістром чи абревіатуру, лишай перемикач вимкненим для звичайного тексту і вмикай лише тоді, коли сам регістр — частина того, що шукаєш.
Коли заміна завершена, прожени результат через Лічильник слів, щоб переконатися, що нічого не змінилося несподівано — шаблон, який зловив більше чи менше збігів, ніж планувалося, зазвичай видає себе несподіваним зсувом загальної кількості слів.
Жоден із цих кроків не торкається сервера. Пошук збігів, підсвічування, заміна — усе це виконується в JavaScript-движку твого браузера, тому самому, що рендерить цю сторінку, і текст зникає в ту мить, коли ти закриваєш вкладку.
