Rumah >pembangunan bahagian belakang >tutorial php >Apakah Perbezaan Antara Pengkuantiti ' ' dan '*' dalam Ungkapan Biasa?

Apakah Perbezaan Antara Pengkuantiti ' ' dan '*' dalam Ungkapan Biasa?

Susan Sarandon
Susan Sarandonasal
2024-12-27 19:17:21285semak imbas

What's the Difference Between ' ' and '*' Quantifiers in Regular Expressions?

Memahami Perbezaan Antara Pengkuantiti ' ' dan '*' dalam Ungkapan Biasa

Dalam ungkapan biasa preg_match PHP, operator dan * digunakan sebagai pengkuantiti untuk menentukan bilangan kejadian bagi aksara atau corak sebelumnya. Berikut ialah pecahan perbezaannya:

' ' Pengkuantiti

Pengkuantiti ' ' mewakili "satu atau lebih" kejadian bagi ungkapan sebelumnya. Ia sepadan dengan sekurang-kurangnya satu contoh corak, tetapi ia boleh memadankan lebih banyak lagi jika ada.

Contoh:

(.+?)

regeks ini sepadan dengan rentetan bukan kosong watak.

'*' Pengkuantiti

The Pengkuantiti '*' mewakili "sifar atau lebih" kejadian bagi ungkapan sebelumnya. Ia sepadan dengan beberapa kali, termasuk tiada.

Contoh:

(.*?)

Reeks ini sepadan dengan mana-mana nombor (termasuk sifar) aksara.

Rakus vs. Pengkuantiti Tidak Tamak

Oleh lalai, pengkuantiti adalah tamak, bermakna ia sepadan sebanyak mungkin. Walau bagaimanapun, menambah '?' selepas pengkuantiti menjadikannya tidak tamak, menyebabkan ia sepadan sedikit sebanyak mungkin.

Contoh:

a.*?b

Dalam kes ini, .*? sepadan dengan bilangan aksara paling sedikit yang mungkin untuk mencari 'b' pertama selepas 'a'.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn