【问题标题】:add onto a line based on the lines content根据行内容添加到一行
【发布时间】:2013-06-10 20:31:54
【问题描述】:

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

这条线看起来像这样:

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

我希望它看起来像这样

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

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

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

【问题讨论】:

    标签: regex plsql replace


    【解决方案1】:

    我发现了几个问题。

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

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

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

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

    在我的测试中,我不得不使用$1 而不是\1,但这仅仅是因为正则表达式引擎。

    Test Link

    【讨论】:

    • 是的,我找到了,但找不到。 PS两次解码后有一个\,但上面的评论中没有出现
    • @user2367789 好的,我添加了一个指向工作正则表达式的链接,以防万一。
    猜你喜欢
    • 2021-05-05
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多