我试图查找和替换caret open_parentheses some_content close_parentheses
(即^(.*)
)与caret open_curly_bracket the_same_content close_curly_bracket
(即^{.*}
但我有问题。
1)我不明白如何保留匹配的通配符内容 .*
2)我不知道如何制定转义序列来指定大括号和圆括号。
我已经浏览了这个页面很长一段时间,并尝试了以下内容
%s/^(*)/^{*} /gc
%s/^(.*)/^{.*} /gc
%s/^/(.*/)/^{.*} /gc
Run Code Online (Sandbox Code Playgroud)
所有这些字符都具有特殊功能,具体取决于它们前面是否有转义字符。这依赖于字符的特殊功能的字符之前的转义序列是否利用它(即,^
执行特殊的功能,一\^
不,其中(
没有不执行特殊的功能,和一个\(
做。
你要找的表达式如下
s/\^(\([^)])\))/\^\{\1\}/g
Run Code Online (Sandbox Code Playgroud)
表达字面上状态,匹配插入符后跟一个open_parenthesis接着除了一个close_parenthesis任何字符之后是close_parenthesis并用AA替换插入符后跟一个open_curly_bracket随后内容中找到搜索时any_character_except一个close_parenthesis(即之间的内容\(
和\)
)后跟close_curly_bracket
注意:也存在其他方法
归档时间: |
|
查看次数: |
7625 次 |
最近记录: |