![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 38 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
MariaDB to system oparty na mysql'u, jednak ich wyrażenia regularne oparte są na PCRE a w MySQL'u na POSIXIE . Więcej na: https://mariadb.atlassian.net/browse/MDEV-7127. Chciałbym utworzyć zapytanie korzystające z REGEXP, które będzie działało na tych dwóch systemach bazodanowych. Mam teraz z grubsza coś takiego:
Jednak na MySQL dostaję błąd "SQLSTATE[42000]: Syntax error or access violation: 1139 Got error 'repetition-operator operand invalid' from regexp' ". Wcześniej w tym zapytaniu zamiast szesnastkowych reprezentacji znaków (\\x{20} oznacza np. spację; więcej tutaj) używałem character setów czyli, np.
ale to z kolei powodowało na MariaDB błąd "POSIX collating elements are not supported". Jak z pierwszego zapytania usunę operatory powtórzeń, czyli w tym przypadku jeden {1} to nie ma błędu. Ktoś ma jakiś pomysł jak używać takich wyrażeń żeby działało na MySQL oraz MariaDB? Dodam że potrzebuję obsługi następujących znaków:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 19:04 |