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.