поиск определенной строки в блокноте ++ - PullRequest
1 голос
/ 09 июля 2019

У меня есть 5000 строк в моем блокноте ++. Все строки имеют около 5000 строк, как показано ниже:

"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_000134260_06232019024054_Batch.pdf"
"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_00000765_06298765454111_Batch.pdf"

"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_000134876_06232019456054_Batch.pdf"

Мне нужно искать число после 2019_ года, пока я не получу еще одно подчеркивание, поэтому, другими словами, мне нужно искать число, которое показано как xxxxxxxxx

"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_xxxxxxxxx_06232019024054_Batch.pdf"

Любая помощь будет принята с благодарностью.

Ответы [ 4 ]

2 голосов
/ 09 июля 2019
  • Ctrl + F
  • Найти что: 2019_\K\d+
  • check Wrap вокруг
  • check Регулярное выражение
  • Найти все в текущем документе

Пояснение:

2019_       # literally 2019_
\K          # forget all we have seen until this posiiton
\d+         # 1 or more digits

Снимок экрана: enter image description here

1 голос
/ 09 июля 2019

Для поиска вы можете использовать:

\\2019_(\d+)_

Если содержимое между двумя подчеркиваниями не всегда является цифрой, это будет работать:

\\2019_([^_]+)_

Если вынеобходимо заменить его чем-то, затем использовать это в поле «Заменить на»:

\\2019_ReplacementGoesHere_

, и это приведет к:

"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_ReplacementGoesHere_06232019024054_Batch.pdf"
"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_ReplacementGoesHere_06298765454111_Batch.pdf"
"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_ReplacementGoesHere_06232019456054_Batch.pdf"

Если вам нужно добавить что-то кзатем совпадения получают доступ к совпадениям с помощью $1

\\2019_$1AppendMe_

, и получается:

"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_000134260AppendMe_06232019024054_Batch.pdf"
"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_00000765AppendMe_06298765454111_Batch.pdf"
"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_000134876AppendMe_06232019456054_Batch.pdf"
1 голос
/ 09 июля 2019

Если вам нужно заменить номер:

ctrl+f -> вкладка «Заменить»

Обязательно отметьте «Регулярное выражение» в «Режиме поиска»

Find what: 2019_([0-9]*)

Replace with: 2019_\1

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

Использует регулярное выражение для поиска списка чисел после строки «2019_» и фиксирует эти числа в группе.Затем заменяет каждое совпадение соответствующей группой захвата с присоединенной к ней строкой «2019_» - так что в этом случае это в основном означает «заменить точно таким же значением» (для получения дополнительной информации о том, как использовать захваченные группы, см., Например, this сообщение)

0 голосов
/ 09 июля 2019

Я не уверен, что у нас могут быть разные входные данные, я думаю, что это выражение

\\\d+\\2019_\K(\d+)_\d+_[^.]+\.pdf\K

имеет более чем достаточно границ, чтобы вернуть эти желаемые цифры, или, может быть, эти простые:

2019_(\d+)

\\\d{4}_(\d+)

будет работать просто отлично.

Выражение объяснено на верхней правой панели этой демонстрации , если вы хотите продолжить изучение или упростить / изменить его, а в этой ссылке вы можетеПосмотрите, как оно будет соответствовать пошаговым шагам ввода некоторых примеров, если хотите.

...