Regex 将第一个字符替换为相同字符加上其他字符?
如果有一系列行(而不是整个文件)以可变数量的空格开头,后跟一些字母字符:Regex 将第一个字符替换为相同字符加上其他字符?,regex,vim,vi,Regex,Vim,Vi,如果有一系列行(而不是整个文件)以可变数量的空格开头,后跟一些字母字符: aaaa bbbb cccc DDDD 您希望将其转换为: # aaaa # bbbb # cccc # DDDD 在Vi中你会怎么做 我的想法大致如下: s/[a-z,a-z]/#(某物)/ 但我不知道如何将(某物)表达为找到的匹配物 谢谢 :g/^ *[a-zA-Z]/s/^/# / g用于行匹配 /^*[a-zA-Z]/空格+字母 s/^/#/将行的开头替换为
aaaa
bbbb
cccc
DDDD
您希望将其转换为:
# aaaa
# bbbb
# cccc
# DDDD
在Vi中你会怎么做
我的想法大致如下:
s/[a-z,a-z]/#(某物)/
但我不知道如何将(某物)表达为找到的匹配物
谢谢
:g/^ *[a-zA-Z]/s/^/# /
用于行匹配g
空格+字母/^*[a-zA-Z]/
将行的开头替换为s/^/#/
(某物)
应该是&
。显然,表达式将匹配行中出现的第一个字母字符,并在那里插入
用于行匹配g
空格+字母/^*[a-zA-Z]/
将行的开头替换为s/^/#/
(某物)
应该是&
。显然,表达式将匹配行中出现的第一个字母字符,并在那里插入
用于行匹配g
空格+字母/^*[a-zA-Z]/
将行的开头替换为s/^/#/
(某物)
应该是&
。显然,表达式将匹配行中出现的第一个字母字符,并在那里插入
用于行匹配g
空格+字母/^*[a-zA-Z]/
将行的开头替换为s/^/#/
(某物)
应该是&
。显然,表达式将匹配行中出现的第一个字母字符,并在那里插入
。修复sed命令(您可以将\w
替换为[a-zA-Z],以适应您的环境)
解释
表示\1
中的上一个匹配项,如果有多对()
,请使用序列号()
,\2
\3
:%s/\(^ \w*\)/#\1/g
修复sed命令(您可以为您的环境将\w
替换为[a-zA-Z])
解释
表示\1
中的上一个匹配项,如果有多对()
,请使用序列号()
,\2
\3
:%s/\(^ \w*\)/#\1/g
修复sed命令(您可以为您的环境将\w
替换为[a-zA-Z])
解释
表示\1
中的上一个匹配项,如果有多对()
,请使用序列号()
,\2
\3
:%s/\(^ \w*\)/#\1/g
修复sed命令(您可以为您的环境将\w
替换为[a-zA-Z])
解释
表示\1
中的上一个匹配项,如果有多对()
,请使用序列号()
,\2
\3
:%s/\(^ \w*\)/#\1/g
要在混合中再添加一个选项:
:%s/^\s\+/&
/^\s\+
匹配行开头的一个或多个空格,将&
替换为匹配的字符串,然后将#
添加到替换中。要在混合中添加一个以上选项::%s/^\s\+/&
/^\s\+
匹配行开头的一个或多个空格,将&
替换为匹配的字符串,然后将#
添加到替换中。要在混合中添加一个以上选项::%s/^\s\+/&
/^\s\+
匹配行开头的一个或多个空格,将&
替换为匹配的字符串,然后将#
添加到替换中。要在混合中添加一个以上选项::%s/^\s\+/&
/^\s\+
匹配行首的一个或多个空格,将&
替换为匹配的字符串,然后将#
添加到替换中。有趣!就好像你把两个正则表达式合并成了一个。但是如果你想在m,n的范围内,而不是在全局范围内,怎么办?我试着用m,n代替g,它的注释超过了给定的范围。@Robert不要删除g
<代码>:3,7g/^*[a-zA-Z]/s/^/#/。有趣!就好像你把两个正则表达式合并成了一个。但是如果你想在m,n的范围内,而不是在全局范围内,怎么办?我试着用m,n代替g,它的注释超过了给定的范围。@Robert不要删除g
<代码>:3,7g/^*[a-zA-Z]/s/^/#/。有趣!就好像你把两个正则表达式合并成了一个。但是如果你想在m,n的范围内,而不是在全局范围内,怎么办?我试着用m,n代替g,它的注释超过了给定的范围。@Robert不要删除g
<代码>:3,7g/^*[a-zA-Z]/s/^/#/。有趣!就好像你把两个正则表达式合并成了一个。但是如果你想在m,n的范围内,而不是在全局范围内,怎么办?我试着用m,n代替g,它的注释超过了给定的范围。@Robert不要删除g
<代码>:3,7g/^*[a-zA-Z]/s/^/#/。我对问题进行了重新措辞,以明确这些字符串不是从行首开始的。阿尔索