Блокнот ++ заменить пробелами - PullRequest
0 голосов
/ 29 января 2019

Использование регулярного выражения в Notepad ++ Я пытаюсь заменить 53 символа в строке пробелами:

Find: (^RS.{192})(.{53})(.{265})
Replace: \1(\x20){53}\3

Он заменяет группу \2 на " {53}", но мне нужно 53 пробела.

Как ты это делаешь?

Ответы [ 3 ]

0 голосов
/ 29 января 2019

Заменяющие термины не являются выражениями регулярных выражений, за исключением того, что они могут использовать обратные ссылки.

Просто код 53 буквенных пробела:

Replace: \1                                                     \3

Немного утомительно, но это работает.

0 голосов
/ 29 января 2019

Предполагается, что ВСЕГДА RS и 192 символа до и 265 после

  • Ctrl + H
  • Найти что: (?:^RS.{192}|\G)\K.(?=.{265,}$)
  • Заменить на: # пробел
  • check Обтекание
  • check Регулярное выражение
  • UNCHECK . matches newline
  • Заменить все

Объяснение:

(?:             # start non capture group
    ^           # beginning of line
    RS          # literally RS
    .{192}      # 192 any character
  |             # R
    \G          # restart from last match position
)               # end group
\K              # forget all we've seen until this position
.               # 1 any character
(?=             # positive lookahead, zero-length assertion to make sure we have after:
    .{265,}     # at least 256 any characters
    $           # end of line
)               # en lookahead

Замена:

%           # the character to insert

Задана более короткая линия для иллюстрации:

RSabcdefghijklmnopqrstuvwxyz

Результат для данного примера:

RSabcdefghij      qrstuvwxyz

Снимок экрана:

enter image description here

0 голосов
/ 29 января 2019

пробел \s

, что означает, что вам нужно использовать \s{53}

...