Sublime文本中的正则表达式2

时间:2013-10-24 10:02:01

标签: regex replace sublimetext2

我正在使用以下正则表达式操作来查找文本部分 -

\/\*\*((\n \*.*)*)\/\n((.*\n))*?\{

然后用以下模式替换它

\/\*\*$1\/\n$3\{\nprintk("**$1");\n

我是新手使用正则表达式,我想删除$ 1中包含的换行符,这是否可能,如果是这样的话?

---- ----编辑

示例:

/**
 *  This is a multiline commment1
 *  This is a multiline commment2
 *  This is a multiline commment3
 **/
int fnName(struct a *b)
{
    return 0;
}

当前输出

/**
 *  This is a multiline commment1
 *  This is a multiline commment2
 *  This is a multiline commment3
 **/
int fnName(struct a *b)
{
printk("**
 *  This is a multiline commment1
 *  This is a multiline commment2
 *  This is a multiline commment3
 **");

    return 0;
}

虽然我想输出

/**
 *  This is a multiline commment1
 *  This is a multiline commment2
 *  This is a multiline commment3
 **/
int fnName(struct a *b)
{
printk("** *  This is a multiline commment1 *  This is a multiline commment2 *  This is a multiline commment3 **");
    return 0;
}

1 个答案:

答案 0 :(得分:0)

对不起,我不认为正则表达式不能满足你的要求。你不能像你想的那样一次性转换替换中的选定文本。

我建议使用sublime文本多编辑功能进行选择,转换然后将所需内容粘贴到您需要的地方。并不像你要求的那样容易,而是一个解决方案。

例如:

  • 对所有评论区块进行多重查找,然后复制它们
  • 然后将它们粘贴到新文件中,以便使用prinkk进行转换和包装
  • 然后多行复制并将多行粘贴到所需位置