Regex, чтобы удалить строки с определенным количеством точек? - PullRequest
0 голосов
/ 29 января 2020

Я хочу удалить строки с 3 или более точками. Я пытался удалить его сам, но он удаляет все строки с точками, в то время как мне нужны только строки, содержащие 3 или более.

Например

p..z.e.4c.e.u.j abc1
aaaaaa 11111
ju.as.h.e.s 125.60.000.
p.iv.p.f.j abcde
r.g.9c 11111112
o.u.n.ggz 12..345.6
ffffffff 22222
1.2.3.45 abcddd
ddddddddddd 33333333

to this result

aaaaaa 11111
r.g.9c 11111112
ffffffff 22222
ddddddddddd 33333333

1 Ответ

4 голосов
/ 29 января 2020
  • Ctrl + H
  • Найти что: ^.*(?:\..*?){3}.*(?:\R|\Z)
  • Заменить на: LEAVE EMPTY
  • CHECK Обтекание
  • CHECK Регулярное выражение
  • UNCHECK . matches newline
  • Заменить все

Объяснение:

^               # beginning of line
  .*            # 0 or more any character but newline
  (?:           # non capture group
    \.          # a dot
    .*?         # 0 or more any character but newline, not greedy
  ){3}          # end group, must appear 3 times
  .*            # 0 or more any character but newline
(?:\R|\Z)       # non capture group, any kind of linebreak OR end of file

Снимок экрана (до ):

enter image description here

Снимок экрана (после):

enter image description here

...