Memahami Perbezaan Antara Pengkuantiti ' ' dan '*' dalam Ungkapan Biasa
Apabila bekerja dengan ungkapan biasa (regex) dalam PHP menggunakan fungsi preg_match, pengaturcara mungkin menghadapi dua pengkuantiti biasa: ' ' dan '*'. Pengkuantiti ini menentukan bilangan kali corak boleh muncul dalam padanan. Walau bagaimanapun, perbezaan halus wujud antara tingkah laku mereka.
Perbezaan antara ' ' dan '*':
Rakus vs. Tidak Tamak Padanan:
Secara lalai, pengkuantiti adalah tamak. Ini bermakna ia sepadan dengan subrentetan terbesar yang mungkin memenuhi ungkapan, menggunakan seberapa banyak aksara yang boleh. Sebagai contoh, menggunakan regex a.*b, ia akan sepadan dengan keseluruhan rentetan "abab" kerana pengkuantiti '.' adalah tamak.
Menjadikan Pengkuantiti Tidak Tamak:
Penambahan '?' watak (?) selepas pengkuantiti menukar tingkah lakunya kepada "tidak tamak" atau "malas." Ini memaksa pengkuantiti untuk memadankan subrentetan terkecil mungkin yang memenuhi ungkapan, bermula dari penghujung rentetan dan bergerak ke arah permulaan:
Contoh:
Pertimbangkan rentetan berikut: "abab"
Nota Tambahan:
Atas ialah kandungan terperinci Apakah Perbezaan Antara Pengkuantiti ` ` dan `*` dalam Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!