Apabila cuba menggunakan ungkapan biasa untuk mendapatkan hasil tertentu daripada jadual MySQL, anda mungkin menghadapi mesej ralat:
"#1139 - Mendapat ralat 'pengendali pengulangan invalid' from regexp"
Untuk menyelesaikan isu ini, fahami bahawa MySQL menggunakan pelaksanaan ungkapan biasa Henry Spencer, yang mematuhi POSIX 1003.2. Pelaksanaan ini tidak mempunyai sokongan untuk menggunakan tanda soal (?) sebagai pengubah suai tidak tamak (malas) kepada pengkuantiti bintang (*) dan tambah (), seperti yang mungkin dalam PCRE (Perl Compatible Regular Expressions).
Untuk membetulkan ralat, pilih versi pengkuantiti yang tamak, yang sepatutnya menghasilkan hasil yang diingini. Walau bagaimanapun, untuk mengelakkan padanan corak yang tidak diingini (cth., beberapa gaya/" src="a.png">), pertimbangkan untuk menggunakan aksara yang ditolak kelas:
"1*src="http://www""
Perhatikan bahawa aksara " tidak memerlukan melarikan diri, dan .* pada permulaan ungkapan ialah tersirat.
Atas ialah kandungan terperinci Ralat MySQL REGEXP \'#1139 - Mendapat ralat \'pengendali pengulangan tidak sah\': Bagaimana untuk Membetulkan Isu Pengkuantiti Tidak Tamak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!