Dzień dobry.
Mam takie problem: chciałbym zastąpić wartość jednej z grup przechwytujących inną wartością, w MariaDB
, przy użyciu REGEXP_REPLACE
.
Mam taki przykładowy kod:
SELECT REGEXP_REPLACE('Czterdzieści [abc]fun{4}\fun{5}fun{6}[/abc] lat minęło','([^\\\\])(fun)','\\2');
Niestety, kod nie może działać dobrze. Wiem, że grupę można wskazać przez \N
, gdzie N to numer od 1 do 9, oznaczający numer grupy przechwytującej. Chciałbym zastąpić tylko jedną z grup innym tekstem. Nie chcę manipulować kolejnością grup, tylko zastąpić, w tym przypadku, wszystkie wystąpienia fun bez backslasha, na fun z backslashem, z tym, żeby nie modyfikować fun, które ma już backslash (w tym wypadku, środkowe (drugie)).
Czy jest jakis sposób aby to osiągnąć?
Tutaj kod w testerze dla regexp https://regex101.com/r/gSHXe1/1/
Proszę o pomoc.
Dziękuję
Michał