Мне нужно получить все совпадения регулярного выражения в текстовом поле в таблице 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 (текстовое поле, 'CP\\?(?:\\d*:)*24658
') как my_match из таблицы, где id = 1243;
, который на данный момент возвращает только первый матч:
И я хотел бы, чтобы он возвращал все совпадения:
CP?:24658
CP?23432:24658
CP?:24658