Я не на 100% уверен в том, каковы ваши требования (то есть, каково возможное содержимое строк, подлежащих удалению), но я сделал регулярное выражение, исходя из предположения, что строка начинается с 1 до 3 чисел с последующим необязательным полным остановом и без чего-либо еще в строке (начало или конец).
Найти то, что : ^\d{1,3}\.?\r?\n?
Заменить на: (пусто)
Проверено на следующем наборе данных
102.
102
12
12
1.
1
9999
ab21.
8442.
который оставляет позади
9999
ab21.
8442.
объяснение
^
это специальный символ, который соответствует только началу строки. Это просто для того, чтобы убедиться, что шаблон находится не просто в конце длинной строки.
\d
используется для соответствия любому числовому значению (то есть 0-9).
{1,3}
используется для изменения предыдущего оператора (в данном случае \d
) и используется для указания минимального и максимального количества раз, которое вы хотите, чтобы этот оператор совпадал. Поэтому в этой строке указано, что вы хотите сопоставить число от 1 до 3 раз (включительно).
\.
используется, чтобы соответствовать символу точки. .
это специальный символ в регулярном выражении, используемый для сопоставления с любым символом (кроме новой строки по умолчанию, хотя в Notepad ++ есть возможность изменить это поведение). В связи с этим нам нужно экранировать его с обратной косой чертой, чтобы убедиться, что он воспринимается как .
«символ», а не как .
«соответствующий шаблон».
?
используется для изменения последнего оператора, аналогичного тому {1,3}
, но на этот раз он используется, чтобы сказать, что предыдущий оператор ( [.]
) является необязательным (технически он говорит, что соответствует ему от 0 до 1 раза, но конечный результат тот же).
\r?\n?
используется для соответствия новой строке, как вы уже упоминали. Регулярное выражение будет работать без этого, но оно не удалит строку, а только очистит ее (оставив пустую строку позади). Делая оба \r
и \n
необязательные, это станет переносимым на Windows, Linux и Mac.
Наконец, причина, по которой мы оставляем Replace with :
поле пустым, заключается просто в том, что мы не хотим, чтобы что-либо возвращалось в строку, которую мы удаляем.
Надеюсь, это то, что вы искали, и, если нет, указывает вам в правильном направлении.
\r\n
могут быть обобщены . Кроме того, похоже на окольный способ просто делать ...\r?\n?
\n
\r
[.]?
\.?
\.?
основном, потому что я не понимал, что вы можете избежать полной остановки (я всегда просто делал это, используя[.]
)! Если вы захотите внести изменения, я буду рад их одобрить.