Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan REGEXP MySQL Saya Gagal dengan \'pengendali pengulangan tidak sah\'?

Mengapa Pertanyaan REGEXP MySQL Saya Gagal dengan \'pengendali pengulangan tidak sah\'?

Barbara Streisand
Lepaskan: 2024-11-26 15:54:11
asal
662 orang telah melayarinya

Why Does My MySQL REGEXP Query Fail with

Ungkapan Biasa Gagal: 'pengendali pengulangan tidak sah'

Apabila cuba melaksanakan pertanyaan MySQL berikut:

SELECT text 
FROM `articles` 
WHERE content REGEXP '.*<img.*?src=\"http://www' 
ORDER BY date DESC
Salin selepas log masuk

anda menghadapi ralat: #1139 - Mendapat ralat 'pengendali pengulangan tidak sah' daripada regexp. Walaupun ungkapan biasa berfungsi dengan betul dalam Notepad , MySQL menolaknya.

Memahami Isu: POSIX lwn. PCRE

Enjin ungkapan biasa MySQL mematuhi POSIX 1003.2, yang tidak mempunyai sokongan untuk tanda soal (?) sebagai pengubah suai tidak tamak dalam pengkuantiti ( dan ). Akibatnya, anda tidak boleh menggaji ? dan ? dalam ungkapan biasa anda.

Penyelesaian: Menggunakan Pengkuantiti Tamak

Untuk menyelesaikan isu ini, gunakan versi pengkuantiti yang tamak, yang masih mencukupi untuk tujuan yang anda maksudkan. Namun begitu, untuk mengelakkan pemadanan elemen yang tidak diingini seperti:

<img>
Salin selepas log masuk

menyertakan kelas aksara yang dinafikan seperti berikut:

'<img[^>]*src="http://www'
Salin selepas log masuk

Ingat bahawa watak " tidak memerlukan melarikan diri dan .* pada mulanya adalah tersirat.

Atas ialah kandungan terperinci Mengapa Pertanyaan REGEXP MySQL Saya Gagal dengan \'pengendali pengulangan tidak sah\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan