捕获列组?

时间:2016-03-20 14:56:53

标签: notepad++

我有

  

nbading | 61144833f2af7519b9065b79c59fbab3408ff02af112824067d91449e63a1a16 | 1960879 | gmedia”,

我需要

  

nbading | 61144833f2af7519b9065b79c59fbab3408ff02af112824067d91449e63a1a16

如何使用正则表达式

1 个答案:

答案 0 :(得分:0)

使用查找/替换对话框:

  • 查找内容: ^((([^\|]+\|?)){2})\|.*$
  • 替换为: \1
  • 检查正则表达式
  • 点击全部替换

说明:

  • 核心([^\|]+\|?)重新匹配非|后跟可选|
  • 的字符序列
  • 可选,因为您不希望结果中的第二个管道
  • (...){2}表示两个此类序列
  • ^( ... )\|.*$表示
    • 我们将匹配停靠在行的开头
    • 然后我们将两个序列放在第一个捕获组
    • 并且我们要求|跟随两个序列,因此第一个可选管道属于第一个组,第二个可选管道不属于第二个组
    • 然后我们在.*
    • 中匹配以下内容
  • 替换\1丢弃第二个管道以及随后的所有内容