如何在 RegEx Notepad++ 中替换

如何在 RegEx Notepad++ 中替换

我似乎找不到任何答案,但是如何在 notepad++ 中查找和替换。

例如:我试图找到所有在金额和姓名之间包含 4 个竖线的行。我如何找到这个行并添加一个额外的竖线,使其之间有 5 个竖线?

$13.00||||Andover Lakes||||1512
$45.00|||||Hillside Bay||||1513
$45.00||||Crystal Manor||||1514
$89.00|||||Cypress Resort||||1515

我试过了\|\|\|\|[a-z],但它把首字母改成了[a-z]。我需要什么样的模式才能找到某些东西,而不必逐字更改我不想更改的内容?

答案1

  • Ctrl+H
  • 找什么:(?<=\d)\|{4}(?=[a-zA-Z])
  • 用。。。来代替:|$0
  • 查看 环绕
  • 查看 正则表达式
  • Replace all

解释:

(?<=\d)         # positive lookbehind, zero length assertion that makes sure we have a digit before
\|{4}           # 4 pipes
(?=[a-zA-Z])    # positive lookahead, zero length assertion that makes sure we have a letter after

替代品:

|           # a pipe
$0          # the whole match (i.e. 4 pipes)

屏幕截图(之前):

在此处输入图片描述

屏幕截图(之后):

在此处输入图片描述

相关内容