我有一个“逐字”列,其中每个条目包含多行。这是一个例子:
Dummy field1:Text
Tell Us More:Text to capture
Dummy field2:Text
我只想在第二行Text to capture
中捕获Tell Us More:
文字,并将该值放入verbatim_scrubbed
列。在上面的示例中,Text to capture
将是verbatim_scrubbed
中的条目。
我对postgres和regexp
并不是那么好,所以我希望有人可以帮助我。想到类似以下的东西:
update TABLE
set verbatim_trimmed = array_to_string(regexp_matches(verbatim,'tell us more:(.*)','gi'));
这不起作用,但我觉得类似的东西可能有效。
答案 0 :(得分:0)
也许有一种直接的方法来捕获:Text to capture
而没有回车\r
和新行\n
字符(不使用regexp_replace)。
以下是您可以做的事情:
select regexp_replace(array_to_string(regexp_matches(verbatim, '^Tell Us More:(.*)$','n'),'',''), E'[\\r\\n]', '' ) from my_table;