Notepad ++用空格替换

时间:2019-01-28 21:32:29

标签: regex notepad++

在Notepad ++中使用正则表达式,我试图用空格替换一行中的53个字符:

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

它将\2组替换为" {53}",但我想要的是53个空格。

您如何做到的?

3 个答案:

答案 0 :(得分:0)

空格为\s

这意味着您需要使用\s{53}

答案 1 :(得分:0)

替换术语不是正则表达式,除非它们可以使用反向引用。

只需代码53个文字空间:

Replace: \1                                                     \3

有点乏味,但是可以。

答案 2 :(得分:0)

假设ALLWAYS RS之前为192个字符,之后为265个

  • Ctrl + H
  • 查找内容:(?:^RS.{192}|\G)\K.(?=.{265,}$)
  • 替换为:#个空格
  • 检查环绕
  • 检查正则表达式
  • 取消检查. 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