根据行内容添加到一行

时间:2013-06-10 20:31:55

标签: regex plsql replace

我想使用正则表达式根据行内容添加到一行。

这条线看起来像这样:

decode((SOMETHING_UNIQUE,'','','') OBJECT

我希望它看起来像这样

decode((SOMETHING_UNIQUE,'','','') OBJECT,decode((SOMETHING_UNIQUE,'','','') SUMMARY

所以我尝试了这个,但确实有效:

FIND: decode((\w+),'','','') OBJECT
REPLACE: decode((\1,'','','') OBJECT,decode((\1,'','','') SUMMARY

1 个答案:

答案 0 :(得分:1)

我看到了几个问题。

  1. 您需要转义直接文字匹配的()个字符。

    decode\((\w+),'','',''\) OBJECT

  2. 在您的替换中,您要在匹配的模式之前添加额外的(

    应该是decode(\1,而不是decode((\1,

  3. 通过我的测试,我不得不使用$1而不是\1,但这只是因为正则表达式引擎。

    Test Link