REGEXP_SUBSTR 和 URL

REGEXP_SUBSTR with a URL

我有一个字符串,我试图从中提取 URL。当我 运行 它在 this RegEx site 上时,它工作正常。

正则表达式模式是:http:\/\/GNTXN.US\/\S+

我从中提取的消息在下面,它位于我的 SQL 数据库中名为 body 的列中。

Test Message: We want to hear from you! Take our 2022 survey & tell us what matters most to you this year: http://GNTXN.US/qsx Text STOP 2 stop/HELP 4 help

但是当我运行下面的SQL:

SELECT
body,
REGEXP_SUBSTR(body, 'http:\/\/GNTXN.US\/\S+') new_body
FROM
table.test

它returns没有价值。我不得不想象这与 URL 中的反斜杠有关,但我已经尝试了一切。

new_body 输出应读作 http://GNTXN.US/qsx

在mysql中你只需要转义\

select body, REGEXP_SUBSTR(body, 'http:\/\/GNTXN.US\/\S+') as new_body
from table.test;

new_body 输出:

http://GNTXN.US/qsx