我有一个函数,我想在两个字符串之间获取一个字符串,其中第一个是“开始”,第二个是换行符。
我的意思是:从“开始 blablabla \n”我只想要“blablabla”。
我试过这个,但它不起作用:
select substring(test from 'Start(.+)\n') into vtest;
如何识别换行符?谢谢!
我有一个函数,我想在两个字符串之间获取一个字符串,其中第一个是“开始”,第二个是换行符。
我的意思是:从“开始 blablabla \n”我只想要“blablabla”。
我试过这个,但它不起作用:
select substring(test from 'Start(.+)\n') into vtest;
如何识别换行符?谢谢!
该$
符号与字符串结尾匹配:
select substring('Start123' from 'Start(.+)$');
substring
-----------
123
它需要双重转义:
test=> select substring('foo
bar' from E'\\A(.*)\\r?\\n');
substring
-----------
foo
(1 row)
替代版本:
select substring('foo
bar' from E'\\A.*(?=\\r?\\n)');