Test123:Password:7 AUG 2018
Test123:Password:7 AUG 2018
Test123:Password:7 AUG 2018
我想删除所有行中第二个冒号后的所有内容,
我试过了^([^:]*.[^:]*):.*$
,但没有用,
答案1
您的正则表达式看起来不错,我怀疑问题是您没有告诉 notepad++(我假设您正在使用该编辑器,因为它存在于标签中)您想要保留您定义的组,而不是整个匹配(在您的例子中恰好是整行)。
您将在对话框中看到:
搜索:
^([^:]*.[^:]*):.*$
用。。。来代替:
\1
第二部分表示您要保留第一组字符,或者换句话说,删除其余部分。在这种情况下,您定义的正则表达式表示:将所有包含两个以上“:”的行替换为第二个“:”出现之前的内容。
答案2
- Ctrl+H
- 查找内容:
^(?:[^:]+:){2}\K.+$
或者^[^:]+:[^:]+\K:.+$
如果您想删除第二个冒号 - 用。。。来代替:
LEAVE EMPTY
- 检查环绕
- 检查正则表达式
- 请勿检查
. matches newline
- Replace all
解释:
^ # beginning of line
(?: # start non capture group
[^:]+ # 1 or more any character that is not a colon
: # 1 colon
){2} # end group, must appear twice
\K # forget all we have seen until this position
.+ # 1 or more any character
$ # end of line
给定示例的结果:
Test123:Password:
Test123:Password:
Test123:Password:
或(取决于使用的正则表达式)
Test123:Password
Test123:Password
Test123:Password