我正在使用查询从包含文本的列中提取用户ID。这是我正在使用的论坛系统,并希望从包含完整消息的文本字段中获取用户ID部分。我正在使用的查询是
SELECT REGEXP_SUBSTR(message, '(?:member: )(\d+)'
) AS user_id
from posts
where message like '%quote%';
现在忽略了丑陋的SQL而不是最终的事实我只需要达到读取用户ID的程度。以下是您将在消息列
中看到的文本示例`QUOTE="Moony, post: 967760, member: 22665"]I'm underwhelmed...[/QUOTE]
Hopefully we aren’t done yet and this is nothing but a depth signing!`
在mariadb REGEXP_SUBST中使用时,正则表达式有什么不同吗?这应该是PCRE并且在正则表达式测试器中工作并且应该正确读取。它应该寻找小组"成员:"然后在那之后取数字并在所有这些帖子上进行一次匹配。
答案 0 :(得分:0)
这是一个丑陋的黑客/解决方法,通过对以下(?<=member: )\.+(?="])
使用前瞻工作,但如果帖子中有多个引号则不起作用
session.register('com.forlunch.list_chats', function (args, kwargs, details) {
return functions.list_chats(args);
})