Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menggunakan ungkapan biasa untuk memadankan ayat Bahasa Inggeris dalam PHP
Ekspresi biasa ialah alat yang sangat berkuasa dalam PHP, yang boleh membantu kami memadankan pelbagai corak teks dengan cepat. Dalam bidang pembelajaran bahasa Inggeris dan pemprosesan bahasa semula jadi, ungkapan biasa boleh membantu kami memadankan pelbagai ayat bahasa Inggeris. Dalam artikel ini, kami akan menunjukkan kepada anda cara menggunakan ungkapan biasa untuk memadankan ayat bahasa Inggeris dalam PHP dan menyediakan beberapa kod contoh praktikal.
Pertama, mari kita fahami struktur asas ayat bahasa Inggeris. Ayat bahasa Inggeris biasanya terdiri daripada subjek, predikat dan objek. Contohnya, "Saya makan epal" ialah ayat bahasa Inggeris yang mudah.
Dalam PHP, kami menggunakan fungsi preg_match untuk memadankan ungkapan biasa. Fungsi ini mengambil dua parameter, parameter pertama ialah ungkapan biasa dan parameter kedua ialah rentetan teks untuk dipadankan. Apabila fungsi preg_match sepadan dengan corak, nilai pulangan ialah 1, jika tidak nilai pulangan ialah 0.
Berikut ialah contoh asas cara menggunakan ungkapan biasa untuk memadankan ayat bahasa Inggeris yang mudah:
$pattern = "/^([A-Z][a-z]+)s([a-z]+)s([a-z]+)$/"; // 匹配一个简单的英语句子 $string = "I ate an apple"; if (preg_match($pattern, $string)) { echo "匹配成功!"; } else { echo "匹配失败!"; }
Di sini ungkapan biasa ^([A-Z][a-z]+)s([a-z]+)s([a-z]+)$
sepadan dengan ayat bahasa Inggeris yang mudah. Ia mengandungi tiga sub-pola, yang digunakan untuk memadankan subjek, predikat dan objek ayat. Kami menggunakan s
untuk memadankan ruang.
Seterusnya, kami memperkenalkan beberapa contoh yang lebih maju. Mula-mula, mari lihat ungkapan biasa yang sepadan dengan ayat bahasa Inggeris yang kompleks:
$pattern = "/^(([A-Z][a-z]+)+s?)+(was|is|had|hassbeen|havesbeen|willsbe|are|am|wasn't|isn't|haven't|hasn't|won'tsbe|aren't|ain't|hadn't|wouldn'tsbe|won't|weren't)s(([A-Z][a-z]+)+s?)+((is|wass|shassbeens|shavesbeens|sares|swillsbes|swasn'ts|sisn'ts|shaven'ts|shasn'ts|swon'tsbes|saren'ts|sain'ts|shadn'ts|swouldn'tsbes|swon'ts|sweren'ts)+)+((an?s|sthes|s[d]*s)?([A-Z][a-z]+)+s?)+(.|,|?|!)?$/"; // 匹配复杂的英语句子 $string = "She is a beautiful girl, who has been living in Paris for three years."; if (preg_match($pattern, $string)) { echo "匹配成功!"; } else { echo "匹配失败!"; }
Di sini ungkapan biasa /^(([A-Z][a-z]+)+s?)+(was|is|had|hassbeen|havesbeen|willsbe|are|am|wasn't|isn't|haven't|hasn't|won'tsbe|aren't|ain't|hadn't|wouldn'tsbe|won't|weren't)s(([A-Z][a-z]+)+s?)+((is|wass|shassbeens|shavesbeens|sares|swillsbes|swasn'ts|sisn'ts|shaven'ts|shasn'ts|swon'tsbes|saren'ts|sain'ts|shadn'ts|swouldn'tsbes|swon'ts|sweren'ts)+)+((an?s|sthes|s[d]*s)?([A-Z][a-z]+)+s?)+(.|,|?|!)?$/
sepadan dengan ayat bahasa Inggeris yang kompleks. Ungkapan biasa ini mengandungi berbilang subcorak yang sepadan dengan jenis perkataan, tanda baca dan ruang yang berbeza. Regex ini boleh dibaca kerana kami membahagikannya kepada beberapa baris.
Akhir sekali, mari kita perkenalkan beberapa ungkapan biasa lain yang berguna. Berikut ialah beberapa contoh kod:
Memadankan ayat bahasa Inggeris yang bermula dengan huruf besar dan berakhir dengan noktah:
$pattern = "/^[A-Z].*.$/"; $string = "Mary has a little lamb."; if (preg_match($pattern, $string)) { echo "匹配成功!"; } else { echo "匹配失败!"; }
Memadankan teks bahasa Inggeris yang mengandungi tarikh:
$pattern = "/(0?[1-9]|[12][0-9]|3[01])[-/.]([0]?[1-9]|[1][012])[-/.]d{4}/"; $string = "Today is 2021/12/31"; if (preg_match($pattern, $string)) { echo "匹配成功!"; } else { echo "匹配失败!"; }
Di atas adalah beberapa contoh Kod, saya harap ia dapat membantu anda menggunakan ungkapan biasa dengan lebih baik untuk memadankan ayat bahasa Inggeris. Menggunakan ungkapan biasa boleh membantu kami mengenal pasti corak dalam teks bahasa Inggeris dengan cepat dan tepat, dengan itu memudahkan pemprosesan bahasa semula jadi berikutnya.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan ungkapan biasa untuk memadankan ayat Bahasa Inggeris dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!