Biasanya, seseorang akan menggunakan pernyataan pandangan ke depan yang positif untuk tugas ini, tetapi mesin regex MySQL tidak mendukungnya.
Oleh karena itu, satu-satunya pilihan Anda (jika Anda ingin melakukan ini dalam satu ekspresi reguler) adalah menangani kedua variasi (hello setelah red atau hello sebelum red ) "secara manual":
hello.*red|red.*hello
Untuk dua "kata pencarian", itu mungkin dapat diterima - namun skalanya tidak bagus.
Regex Anda ((hello|red).*){2}()* agak aneh; artinya
( # Start of group:
(hello|red) # Match either hello or red
.* # Match any number of characters
){2} # Match this group twice
()* # Match the empty string any number of times...
jadi ini cocok dengan hello foo hello atau red bar red juga.