Ungkapan biasa ialah alat pemprosesan teks yang berkuasa yang boleh membantu kami memadankan dan menggantikan rentetan dengan cepat. Dalam senario padanan rentetan campuran Cina dan Inggeris, penggunaan ungkapan biasa adalah amat penting. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk memadankan rentetan campuran Cina dan Inggeris.
1. Isu pengekodan rentetan
Sebelum memadankan rentetan campuran Cina dan Inggeris, anda perlu memahami isu pengekodan rentetan terlebih dahulu. Dalam versi Python 3.x, rentetan menggunakan pengekodan Unikod secara lalai, yang bermaksud bahawa watak biasanya diwakili oleh pengekodan Unikod dalam Python.
Dalam aplikasi praktikal, disebabkan oleh sebab sejarah dan batasan teknikal, kami sering menghadapi rentetan jenis pengekodan lain. Sebagai contoh, pengekodan rentetan yang digunakan dalam persekitaran Cina biasanya GBK atau UTF-8. Untuk mengendalikan rentetan pengekodan berbeza dengan betul, rentetan itu perlu ditukar kepada pengekodan bersatu sebelum menggunakan ungkapan biasa.
Dalam Python, anda boleh menggunakan kaedah encode() untuk menukar rentetan kepada rentetan bait dengan pengekodan yang ditentukan, contohnya:
str = "中文字符串" encoded_str = str.encode('utf-8')
2. Sintaks ungkapan biasa asas
Apabila menggunakan ungkapan biasa untuk memadankan rentetan campuran Cina dan Inggeris, anda perlu menguasai beberapa sintaks ungkapan biasa asas.
Kurungan segi empat sama boleh memadankan mana-mana aksara, contohnya:
[abc] 匹配字符a或b或c [a-z] 匹配小写字母a~z中的任意一个字符 [A-Z] 匹配大写字母A~Z中的任意一个字符 [0-9] 匹配数字0~9中的任意一个字符
^ sepadan dengan permulaan rentetan
$ sepadan dengan hujung rentetan
sepadan dengan sempadan perkataan
{n,m} sepadan dengan watak sebelumnya sekurang-kurangnya n kali dan paling banyak m masa
{n,} sepadan dengan watak sebelumnya sekurang-kurangnya n kali
{n} sahaja sepadan dengan watak sebelumnya Watak n kali
watak istimewawatak melarikan diri, anda boleh melarikan diri daripada watak berikut Untuk. aksara istimewa
| atau, ia boleh memadankan mana-mana hasil padanan yang berjaya bagi berbilang corak
(), berbilang corak boleh digabungkan untuk membentuk corak yang lebih kompleks
3. Pertempuran praktikal padanan rentetan campuran Cina dan Inggeris
Seterusnya, kami akan menggunakan contoh untuk menunjukkan cara menggunakan ungkapan biasa Python untuk memadankan rentetan campuran Cina dan Inggeris.
Memadankan aksara InggerisContohnya, jika kita ingin memadankan aksara Inggeris dalam rentetan "Hello World", kita boleh menggunakan kod berikut:
import re str = "Hello World" pattern = '[a-zA-Z]+' result = re.findall(pattern, str) print(result)
Hasil output ialah: ["Hello", "World "], berjaya memadankan dua perkataan Inggeris.
Padankan aksara CinaContohnya, jika kita ingin memadankan aksara Cina dalam rentetan "Hello World", kita boleh menggunakan kod berikut:
import re str = "你好世界" pattern = '[u4e00-u9fa5]+' result = re.findall(pattern, str) print(result)
Hasil output ialah: ["Hello", "World "], Dua perkataan Cina berjaya dipadankan.
Padankan aksara Cina dan Inggerispattern = '[a-zA-Z]+|[u4e00-u9fa5]+'
Ungkapan biasa ini menggunakan simbol | untuk menyambungkan dua corak, yang boleh memadankan satu atau lebih perkataan Inggeris atau bahasa Cina perkataan.
Sebagai contoh, jika kita ingin memadankan perkataan Cina dan Inggeris dalam rentetan "Hello Hello World World", kita boleh menggunakan kod berikut:
import re str = "Hello 你好 World 世界" pattern = '[a-zA-Z]+|[u4e00-u9fa5]+' result = re.findall(pattern, str) print(result)
Hasil output ialah: ["Hello ", "Hello ", "World", "世界"], berjaya memadankan empat perkataan Cina dan Inggeris.
Ringkasan:
Di atas ialah cara menggunakan ungkapan biasa Python untuk memadankan rentetan campuran Cina dan Inggeris. Dengan kaedah di atas, kami boleh menyelesaikan masalah padanan rentetan campuran Cina dan Inggeris dengan mudah dan melaksanakan pemprosesan teks yang lebih cekap dan tepat.
Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa Python untuk memadankan rentetan campuran Cina dan Inggeris. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!