我如何将 2 个符号之间的所有数据与 Regex 匹配?

How would I match all data between 2 symbols with Regex?

我正在尝试查找出现破折号 (-) 的所有数据(包括和之后),直到第一个分隔符是冒号。

示例数据:

Input:
bart23-testaccount@test.test:Test:Test:Test

Desired output:
bart23:Test:Test:Test

我做了一些研究并找到了这个正则表达式,但它不适合我的目的-(.*):

我的目的是为了数以千计的行,它们都是不同类型的顺序,但是目的保持不变,突出显示 - 和第一个 : 之间的所有文本(我将然后继续删除)。我将使用 Notepad++

如果需要,我可以回答任何问题或使我的 post 更具体,这有点难以解释。

在 Notepad++ 中,您可以使用正则表达式 find/replace。寻找:

^([^-]+)-[^:]+(:.*)$

捕获第 1 组中第一个 - 之前的所有内容,以及第 2 组中第一个 : 之后(包括)之后的所有内容,并替换为


使用 Notepad++,没有任何捕获组:

  • Ctrl+H
  • 查找内容:-[^:]+
  • 替换为:LEAVE EMPTY
  • 选中环绕
  • 检查正则表达式
  • 全部替换

解释:

-           # an hyphen (by default, the first one in a line)
[^:]+       # 1 or more not colon

给定示例的结果:

bart23:Test:Test:Test

屏幕截图: