Posso abbinare e sostituire uno schema di testo in un MYSQL select?MYSQL: Cerchi l'equivalente di "regex" di Perl = ~ s/e/i/g => rigix in un MySQL Select
EDIT Per ora sembra che la risposta è: non può essere fatto, dal momento che non è possibile catturare ciò che è stato abbinato (dalla risposta Eric s'/ commenti). Per ora guarderò nell'aggiunta di una tabella di ricerca.
esempio semplificato:
La tabella di MySQL Coleridge detiene molte stringhe come:
text
------------------------------------
In_Xanadu_did_Kubla_Khan
A_stately_pleasure_dome_decree
Where_Alph_the_sacred_river_ran
Through_caverns_measureless_to_man
Down_to_a_sunless_sea
C'è un modo per esprimere la select
SELEZIONA text = ~ s/[^_] + _ (. *) _ [^ _] + $/\ 1/ come sostituito DA Coleridge
e ottenere
replaced
________________________
Xanadu_did_Kubla
stately_pleasure_dome
Alph_the_sacred_river
caverns_measureless_to
to_a_s
Attenzione: per
- L'espressione regolare s///I fornito è molto meno complicato di quello che il mondo reale DB contiene
- Purtroppo non posso 't normalizzare il DB ..
grazie. sfortunatamente la mia espressione regolare non può essere espressa così facilmente (a meno che non codifichi un caos contorto di blocchi IF/CASE di sei piedi di profondità). Avrò una parola con il DBA .. Potrei dover costruire una tabella di ricerca. – lexu
Credo che la risposta corretta alla mia domanda sia nel tuo commento alla risposta di chao: Non puoi catturare ciò che è stato abbinato. – lexu