【问题标题】:regex_replace to append to end of line?regex_replace 追加到行尾?
【发布时间】:2019-01-15 13:19:45
【问题描述】:

我有一个 postgres 表,其中包含每行包含多行文本(由新行分割)的行,例如...

表格名称是格式,列称为格式,示例格式(1 表格行)如下所示:

list1=text1;

list2=text2;

list3=text3;

etc etc

我想要一种方法来识别 list2 字符串,然后将其他文本附加到同一行的末尾。

所以结果是:

list1=text1;

list2=test2;additionaltext

list3=text3;

我已经尝试了以下尝试将“捕获字符串”拉入替换字符串,但到目前为止没有成功。

 regexp_replace(format, 'list2=.*', '\1 additionaltext','n');

【问题讨论】:

    标签: sql postgresql regexp-replace


    【解决方案1】:

    要捕获模式,您必须将其括在括号中。

    regexp_replace(format, '(list2=.*)', '\1additionaltext', 'n')
    

    【讨论】:

    • 太好了,刚刚尝试过,它确实有效,并且它通过了捕获的模式。不过有一件事,虽然它通过了“捕获的模式”,但在此之后放置了一个新行,然后在下面的行上放置了附加文本,无论如何要阻止这种情况发生,所以它们出现在同一行而不是单独的行上?谢谢
    • 无法重现:dbfiddle.uk/… 文本保持在同一行。
    • 我已经对其进行了排序,我的捕获模式中缺少一个分号,它将文本附加到同一行!感谢您的帮助:)
    猜你喜欢
    • 2021-09-04
    • 2019-05-30
    • 2018-03-15
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    相关资源
    最近更新 更多