regex - Vim 中的 Perl 正则表达式?

标签 regex perl vim

如何在 Vim 中编写这个 perl regex 替换命令? (摘自this pandoc epub tutorial):

perl -i -0pe \
's/^Insert\s*(.*)\.png\s*\n([^\n]*)$/!\[\2](..\/figures\/\1-tn.png)/mg' \
*/*.markdown

最佳答案

我不能代表 -i -0pe 标志,但正则表达式:

s/^Insert\s*(.*)\.png\s*\n([^\n]*)$/!\[\2](..\/figures\/\1-tn.png)/mg

将是:

s/^Insert\s*\(.*\).png\s*\n\(.*\)$/!\[\2](..\/figures\/\1-tn.png)/g

请注意,您必须转义捕获组,并且我在第二个捕获组中使用了 .* 而不是 [^\n]*。您不需要多行标志。

关于regex - Vim 中的 Perl 正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9178486/

相关文章:

regex - 如何将段落重新换行至特定行长?

vim - 在vim中从光标删除到括号(等)的结尾

vim - 如何在 Vim 中实现类似 MATLAB 的单元格模式

vim - 如何删除vim中的缩进突出显示?

regex - Notepad++ 删除第三个分号之前的所有内容

c++ - 为什么所有列表都被填充

perl - Perl:为什么在循环中声明(我的)变量会更慢?

java.util.regex.PatternSyntaxException : Unmatched closing ')' : during string. 拆分操作

mysql - 带有 "contains"子句的 sql 命令不支持正则表达式

regex - 一些 perl 正则表达式的含义?