Reex dalam soalan ialah cara yang pelik untuk memadankan perkataan mudah. Tidak jelas apakah input yang dijangkakan. Mungkin, input boleh membenarkan pendekatan ini.
^(?=.\bABDUL\b)(?=.\bHAI\b.)(?=.\bMANSOOR\b).*$
Ini bermakna: mesti bermula dengan mana-mana watak yang bukan perkataan, diikuti oleh ABDUL, watak bukan perkataan, HAI, watak bukan perkataan, MANSOOR, watak bukan perkataan atau hujung rentetan.
Ini bermakna: permulaan bukan abjad nombor atau abjad angka (aksara abjad angka), ABDUL, aksara bukan abjad angka, HAI, aksara bukan abjad, MANSOOR, aksara bukan abjad atau hujung rentetan.
Saya belum mengujinya dan tidak berniat untuk menjadikannya sama seperti yang pertama, tetapi ia sepatutnya cukup dekat.
Untuk sesiapa yang ingin menyalin ini ke dalam kod mereka:
Memadankan aksara pertama adalah luar biasa dan mungkin merupakan pepijat dalam regex asal.
(?=...) ialah "penegasan pandang ke hadapan" yang tidak menggunakan sebarang aksara, versi POSIX tidak mempunyainya, tetapi untuk carian rentetan mudah, ia mungkin tidak penting.
Kedua-dua versi hendaklah sepadan dengan rentetan seperti !ABDUL$HAI)MANSOOR - pastikan itu yang anda mahukan.
Bagi yang ingin memahami ungkapan biasa yang saya gunakan, boleh rujuk pautan berikut:
Reex dalam soalan ialah cara yang pelik untuk memadankan perkataan mudah. Tidak jelas apakah input yang dijangkakan. Mungkin, input boleh membenarkan pendekatan ini.
Ini bermakna: mesti bermula dengan mana-mana watak yang bukan perkataan, diikuti oleh ABDUL, watak bukan perkataan, HAI, watak bukan perkataan, MANSOOR, watak bukan perkataan atau hujung rentetan.
Ini bermakna: permulaan bukan abjad nombor atau abjad angka (aksara abjad angka), ABDUL, aksara bukan abjad angka, HAI, aksara bukan abjad, MANSOOR, aksara bukan abjad atau hujung rentetan.
Saya belum mengujinya dan tidak berniat untuk menjadikannya sama seperti yang pertama, tetapi ia sepatutnya cukup dekat.
Untuk sesiapa yang ingin menyalin ini ke dalam kod mereka:
!ABDUL$HAI)MANSOOR
- pastikan itu yang anda mahukan.Bagi yang ingin memahami ungkapan biasa yang saya gunakan, boleh rujuk pautan berikut:
https://dev.mysql.com/doc/refman/8.0/en/regexp.html (sintaks POSIX untuk mysql) dan https://docs.python.org/3/library/re.html (PCRE untuk python = sintaks serasi Perl)