Apabila ungkapan biasa mengandungi kelayakan yang menerima pengulangan, gelagat biasa ialah memadankan seberapa banyak aksara yang mungkin (sambil masih membenarkan keseluruhan ungkapan dipadankan). Ambil ungkapan ini sebagai contoh: a.*b, ia akan sepadan dengan rentetan terpanjang bermula dengan a dan berakhir dengan b. Jika anda menggunakannya untuk mencari aabab, ia akan sepadan dengan keseluruhan rentetan aabab. Ini dinamakan padanan tamak. Kadangkala, kita memerlukan pemadanan yang malas, iaitu pemadanan sesedikit mungkin aksara. Kelayakan yang diberikan di atas boleh ditukar kepada corak padanan malas dengan menambahkan tanda soal ? Dengan cara ini, .*? bermaksud memadankan sebarang bilangan ulangan, tetapi menggunakan ulangan paling sedikit yang akan menjadikan perlawanan keseluruhan berjaya. Sekarang lihat versi malas contoh: a.*?b sepadan dengan rentetan terpendek bermula dengan a dan berakhir dengan b. Jika anda menggunakannya pada aabab, ia akan sepadan dengan aab (aksara 1 hingga 3) dan ab (aksara 4 hingga 5).
Disalin daripada: http://deerchao.net/tutorials... 30 minit pengenalan kepada ungkapan biasa, bahagian yang tamak dan malas
Perbezaan antara tamak dan tidak tamak.
Ringkasnya, tidak tamak bermakna ia akan berhenti apabila sudah padan, tidak kira ada perlawanan lain nanti.
Apabila ungkapan biasa mengandungi kelayakan yang menerima pengulangan, gelagat biasa ialah memadankan seberapa banyak aksara yang mungkin (sambil masih membenarkan keseluruhan ungkapan dipadankan). Ambil ungkapan ini sebagai contoh: a.*b, ia akan sepadan dengan rentetan terpanjang bermula dengan a dan berakhir dengan b. Jika anda menggunakannya untuk mencari aabab, ia akan sepadan dengan keseluruhan rentetan aabab. Ini dinamakan padanan tamak.
Kadangkala, kita memerlukan pemadanan yang malas, iaitu pemadanan sesedikit mungkin aksara. Kelayakan yang diberikan di atas boleh ditukar kepada corak padanan malas dengan menambahkan tanda soal ? Dengan cara ini, .*? bermaksud memadankan sebarang bilangan ulangan, tetapi menggunakan ulangan paling sedikit yang akan menjadikan perlawanan keseluruhan berjaya. Sekarang lihat versi malas contoh:
a.*?b sepadan dengan rentetan terpendek bermula dengan a dan berakhir dengan b. Jika anda menggunakannya pada aabab, ia akan sepadan dengan aab (aksara 1 hingga 3) dan ab (aksara 4 hingga 5).
Disalin daripada: http://deerchao.net/tutorials... 30 minit pengenalan kepada ungkapan biasa, bahagian yang tamak dan malas
Yang pertama akan berhenti selepas mencari perlawanan, manakala yang kedua akan mencari semua sasaran yang sepadan.
Soalan ini melibatkan mod tamak dan mod malas (juga dipanggil mod tidak tamak) dalam ungkapan biasa
Pertama, mari kita lihat definisi kedua-dua ini
Mod tamak, padanan maksimum
*
,+
,'{n,}',.*
semuanya tergolong dalam mod tamak Apa yang dipanggil padanan maksimum, izinkan saya memberi anda contohMod malas, di bawah premis padanan yang berjaya, padankan sesedikit mungkin.
Masih contoh di atas:
?Yang paling kecil padanan akan dipilih.