我如何将 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
屏幕截图:
我正在尝试查找出现破折号 (-) 的所有数据(包括和之后),直到第一个分隔符是冒号。
示例数据:
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
屏幕截图: