例如:
[email protected] $2y$12$MTg3MTAwMTY5MTllYzA5NO414qUGtsj7kb7uzIlQbSxjg6nzGHRpC arleyrua
我想把它改造成:
[email protected]:arleyrua
中间的线段有 60 个各种字符(字母数字和符号),我想用一个:
字符替换它(包括后面和后面的空格)。
答案1
您可以使用以下正则表达式来匹配任意长度的两个空格之间的 60 个字符(任何类型)(为了清楚起见,我添加了括号,但它们不是必需的):
([ \t]+)(.{60})([ \t]+)
分解:
[ \t]+ matches any number of spaces and tabs
.{60} matches 60 occurences of any character
() are there just for visual grouping (in this particular case)
使用此作为测试用例:
asdojiajdsa 01234af7890123456789g12345678901234abcd901234567890123456789 zzzzzzcasdaf
fwqiojiofjwif 01234af78901AAAA6789g12345678!!!234abcd901234567890123456789 adsidoqpwpz
qpsppwpqpweqp 0DSF4af7890123456789g12345678901234abcd?01234567890123456789 oixzjioqdq
qpsppwpqpweqp 4324343 oixzjioqdq
当我用以下正则表达式替换时,得到以下结果:
asdojiajdsa:zzzzzzcasdaf
fwqiojiofjwif:adsidoqpwpz
qpsppwpqpweqp:oixzjioqdq
qpsppwpqpweqp 4324343 oixzjioqdq
答案2
答案3
- Ctrl+H
- 找什么:
^\S+\K\h+\S{60}\h+
- 用。。。来代替:
:
- 检查环绕
- 检查正则表达式
- Replace all
解释:
^ # beginning of line
\S+ # 1 or more non spaces
\K # forget all we have seen until this position
\h+ # 1 or more horizontal spaces (i.e. space or tab)
\S{60} # 60 non spaces
\h+ # 1 or more horizontal spaces
给定示例的结果:
[email protected]:arleyrua
屏幕截图: