我需要在 MariaDB 表的文本字段中获取正则表达式的所有匹配项。据我所知, REGEXP_SUBSTR 是获取文本字段中正则表达式匹配值的方法,但是它总是在第一个匹配后返回,我想得到所有匹配项。
在MariaDB中有什么方法可以做到这一点?
文本字段内容的示例为:
@Generation {
// 1
True =>
`CP?:24658` <= `CPV?:24658=57186`;
//`CP?23432:24658` <= `CPV?:24658=57186`
// 2
`CP?:24658` <> `CPV?:24658=57178` =>
`CP?:24656` <> `CPV?:24656=57169`;
我现在正在使用的选择表达式是:
选择REGEXP_SUBSTR(textfield,'
CP\\?(?:\\d*:)*24658
')作为my_match 从表 id = 1243;
此刻仅返回第一个比赛:
CP?:24658
我希望它返回所有匹配项:
CP?:24658
CP?23432:24658
CP?:24658
答案 0 :(得分:0)
REGEXP
即可找到有趣的行。将它们放在临时表中您将对每个子表做什么?也许这将有助于我们设计出更好的方法。