Rumah >pembangunan bahagian belakang >tutorial php >Ungkapan Biasa PHP: Cara mengekstrak berbilang pengulangan aksara daripada rentetan

Ungkapan Biasa PHP: Cara mengekstrak berbilang pengulangan aksara daripada rentetan

王林
王林asal
2023-06-22 18:04:041231semak imbas

Ungkapan Biasa PHP: Cara mengekstrak ulangan berbilang aksara daripada rentetan

Dalam PHP, ungkapan biasa ialah alat yang sangat berkuasa yang boleh digunakan untuk memadankan, mencari dan menggantikan fungsi rentetan aksara. Sintaks asas ungkapan biasa adalah sangat mudah, tetapi dalam aplikasi praktikal, selalunya perlu mempunyai pemahaman yang mendalam tentang penggunaan lanjutannya. Antaranya, mengekstrak ulangan berbilang aksara daripada rentetan adalah keperluan biasa.

Sebagai contoh, kita perlu mengetahui bilangan aksara berulang berturut-turut daripada rentetan Contohnya, dalam rentetan "aaabbbcccdddeeefff", aksara berulang "a" muncul 3 kali, dan aksara berulang "b. " muncul 3 kali. , aksara berulang "c" muncul 3 kali, aksara berulang "d" muncul 3 kali, aksara berulang "e" muncul 3 kali, dan aksara berulang "f" muncul 3 kali.

Mari perkenalkan kaedah yang mudah dan cekap untuk melaksanakan fungsi ini menggunakan ungkapan biasa PHP.

Pertama, kita boleh menggunakan fungsi preg_match_all untuk memadankan semua aksara yang diulang, contohnya:

$string = "aaabbbcccdddeeefff";
preg_match_all('/(.)+/', $string, $matches);
print_r($matches[0]);

Dalam kod di atas, kami menggunakan fungsi preg_match_all, yang akan mencari semua padanan dengan biasa yang ditentukan ungkapan dalam rentetan Subrentetan yang dipadankan dengan ungkapan, dan hasil yang sepadan disimpan dalam tatasusunan $matches. Antaranya, ungkapan biasa '/(.) +/' digunakan untuk memadankan aksara berulang berturut-turut, dan aksara pertama yang dipadankan dengan aksara berulang digunakan sebagai kumpulan, di mana ' ' mewakili kandungan kumpulan pertama, '+ Menunjukkan padanan sekurang-kurangnya satu aksara.

Jalankan kod di atas, output adalah seperti berikut:

Array
(
    [0] => aaa
    [1] => bbb
    [2] => ccc
    [3] => ddd
    [4] => eee
    [5] => fff
)

Kita dapat melihat bahawa semua aksara berulang berturut-turut disimpan dalam tatasusunan $matches[0]. Seterusnya, kita boleh lelaran melalui tatasusunan $matches[0] dan menggunakan fungsi strlen untuk mendapatkan panjang setiap subrentetan untuk mendapatkan bilangan ulangan setiap aksara. Kod khusus adalah seperti berikut:

$string = "aaabbbcccdddeeefff";
preg_match_all('/(.)+/', $string, $matches);

foreach ($matches[0] as $match) {
    $char = $match[0];
    $count = strlen($match);
    echo "字符 $char 出现了 $count 次
";
}

Jalankan kod di atas dan hasil output adalah seperti berikut:

字符 a 出现了 3 次
字符 b 出现了 3 次
字符 c 出现了 3 次
字符 d 出现了 3 次
字符 e 出现了 3 次
字符 f 出现了 3 次

Pada ketika ini, kami telah menyelesaikan operasi mengekstrak bilangan ulangan berbilang aksara daripada rentetan. Kaedah ini mudah, cekap dan boleh digunakan untuk kebanyakan situasi, dan boleh membantu semua orang meningkatkan kecekapan dalam pembangunan sebenar.

Sudah tentu, aplikasi ungkapan biasa melampaui ini. Dalam pembangunan sebenar, kita juga boleh menggunakan ungkapan biasa yang lebih kompleks, seperti pengelompokan, set aksara, pengkuantiti, dsb., untuk mencapai fungsi pemprosesan rentetan yang lebih fleksibel dan berkuasa. Jika anda tidak biasa dengan penggunaan lanjutan ungkapan biasa, anda juga boleh mempelajarinya. Saya percaya ia pasti akan membantu kerja pembangunan anda.

Atas ialah kandungan terperinci Ungkapan Biasa PHP: Cara mengekstrak berbilang pengulangan aksara daripada rentetan. 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