Как искать строки, содержащие переводы строк в Notepad ++

869
user1021085

Я просматриваю файлы субтитров, поэтому есть такие вещи, как

442
00: 24: 18,017 -> 00: 24: 20,551
Теперь вы просто ищете
козла отпущения.

и мне интересно, как я могу найти «просто ищу» и заставить его найти это. Прямо сейчас "ты просто ищешь" получает совпадение, "для козла отпущения" получает совпадение, "ищет" не получает совпадение.

Я пытался установить режим поиска на нормальный / расширенный

0

3 ответа на вопрос

3
LPChip

Если вы используете расширенный поиск, вы можете искать \r\nкак новую строку, когда ваш документ был создан в Windows. Когда он был создан на Linux, он, скорее всего, только\n

Так что если вы ищете:

just looking\r\nfor a 

Это должно найти вам спички. Чтобы точно определить, что искать, нажмите кнопку на панели инструментов, чтобы включить отображение всех специальных символов.

Любой CRнайден в поиске \rи любой LFнайден в поиске \n.

Посмотрите внимательно на любые пробелы в начале и конце строки и найдите их тоже.

Я хочу искать разные цитаты и не буду уверен, где они делали разрывы строк. Есть ли способ просто сказать "поиск по этой строке, сопоставить, даже если она разбита на новые строки" или что-то в этом роде? user1021085 6 лет назад 0
Для этого вам понадобится RegEx, и отметьте опцию справа для поиска последних разрывов строк. LPChip 6 лет назад 1
Извините, как это будет выглядеть? user1021085 6 лет назад 0
Я начинаю думать, что вы пытаетесь сделать что-то с неправильными инструментами или используете неправильный метод здесь. Что именно вы хотите достичь в конце? LPChip 6 лет назад 0
Я хочу, чтобы можно было искать файлы субтитров и находить цитаты (эпизод, контекст и т. Д.) user1021085 6 лет назад 0
Тогда я бы предложил поискать / заменить весь файл и удалить все \ r \ n в строках. Это эффективно объединит все предложения в одно предложение. Вы можете свободно искать. LPChip 6 лет назад 0
0
Olaf Dietsche

Блокнот использует PCRE (регулярное выражение, совместимое с Perl) для поиска / замены. Таким образом, вы можете использовать \sдля пробела, например, с одним пробелом / новой строкой

looking\sfor 

или это регулярное выражение с хотя бы одним или несколькими пробелами / символами новой строки

looking\s+for 

Смотрите также регулярные выражения.info - Сокращенные классы символов

\ s означает «символ пробела». Опять же, какие символы это на самом деле включает, зависит от вкуса регулярного выражения. Во всех разновидностях, обсуждаемых в этом руководстве, он включает в себя [\ t \ r \ n \ f]. То есть: \ s соответствует пробелу, табуляции, разрыву строки или переводу формы. Большинство разновидностей также включают вертикальную вкладку, с заметными исключениями Perl (до версии 5.18) и PCRE (до версии 8.34). В разновидностях, поддерживающих Unicode, \ s обычно включает все символы из категории Unicode «разделитель». Java и PCRE снова являются исключениями. Но JavaScript сопоставляет все пробелы Unicode с \ s.

0
Kyle H

Есть несколько способов, ура для регулярных выражений и Perl !!!

1. Попытайтесь поместить это в регулярное выражение made и найдите «just Looking. *? A» без кавычек и убедитесь, что флажок установлен, который будет делать. символ соответствия новой строки. это соответствует новой строке, поставьте [] * вокруг. *? если вы не хотите, чтобы он соответствовал символу новой строки.

2. Буквально сопоставьте \ r \ n, как в другом ответе. Поместите в регулярное выражение и найдите «просто смотря \ r \ n для a», это соответствует символу новой строки, поместите [] * вокруг \ r \ n, если вы не хотите, чтобы он совпадал с символом новой строки. Добавьте \ s + внутри скобок [], чтобы совпадать и с пробелами.

Надеюсь это поможет! Пожалуйста, прокомментируйте для уточнения!