Объяснение

Объяснение

Я пытался это найти и поэкспериментировать, но не смог понять.

В Notepad++ у меня есть такая строка:

102.

или

12

и я хотел бы удалить всю строку (поэтому мне, я полагаю, понадобится \n\r) и все подобные строки, как я могу это сделать? (Я не знаю, является ли это однозначным, двузначным или трехзначным знаком, и есть ли после него точка или нет).

решение1

Я не на 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 :поле пустым, заключается в том, что мы не хотим, чтобы в удаляемой нами строке что-либо возвращалось.

Надеюсь, это то, что вы искали, а если нет, то это укажет вам правильное направление.

Связанный контент