регулярний вираз ^.*RIN.*\r\n(.*\r\n)*(?=^1.*)
або трохи краще
регулярний вираз^.*RIN.*\r\n(.*\r\n)*(?=^1 .*)
так що є ваш регкс. замініть це нічим. або з \ r \ n
Додано
пояснення. ^
Зрівняйте початок рядка, а потім .*
будь-які символи (хоча це не новий рядок, тому що ми поставили галочку, що крапка не відповідає новому рядку), а потім (.*\r\n)*
порівнюйте всі рядки після ПІДТВЛЕННЯ цієї речі, яка не відповідає вам. (? = ^ 1. *) Отож, зверніть увагу лише на те, що одразу з’являється як наступний символ, але цього разу не відповідайте йому, і шукайте рядок, що починається з 1, а потім пробілу та будь-якого іншого. ЯКЩО дивлячись, ви виявите це, то відповідайте позиції.
Тож дивіться, що все, що визначає регулярний вираз, відповідає. Від тексту, ідентифікованого на початку регулярного виразів, до контуру регулярного вираження, який визначає позицію, яка відповідає, і знаходиться в кінці регулярного виразів.
ОНОВЛЕННЯ
Невелика корекція до сказаного.
A) Ви запитали повторні рядки, що починаються з "2 RIN".
Б) Потрібна була негативна оцінка для одного з * s, щоб вона відповідала перед першим появою ^ 1.
C) Вам потрібно врахувати, чи має у файлі * nix або закінчення рядка Windows. Ви можете знайти в документі і шукати \ r \ n або \ n, і бачити, які збіги, щоб побачити, які закінчення рядка використовує файл. Це один спосіб. Ваш файл має * nix рядки, як показано в нижній правій частині вікна блокнота ++.
Отже, ви хочете цього регексу ^2 RIN.*\n(.*\n)*?(?=^1.*)
Ви хотіли б цього, якби це закінчення рядків Windows, що може статися, якщо ви копіюєте / вставляєте, тоді ви хочете, щоб цей регулярний вираз ^2 RIN.*\r\n(.*\r\n)*?(?=^1.*)
Але відкриваючи файл або копію файлу безпосередньо, ви впевнені, що ви хочете \ n версії, * nix версії, тобто ^2 RIN.*\n(.*\n)*?(?=^1.*)
оскільки програмне забезпечення Windows, яке пише файл, записує його з закінченнями стилю * nix.