Pengenalan
pemprosesan Odoma dan pengesahan input pengguna adalah pautan utama dalam pengaturcaraan, terutamanya apabila membina aplikasi yang memerlukan interaksi pengguna. Python menyediakan alat yang kuat untuk menyelesaikan tugas -tugas ini. Artikel ini akan meneroka dunia keabnormalan Python dan ungkapan biasa, menjelaskan kepentingan mereka, memberikan contoh praktikal, dan memastikan bahawa kod anda kuat dan cekap.
memahami keabnormalan python
rawatan tidak normal asas
Dalam contoh ini, jika pengguna cuba mengeluarkan bukan integer dengan sifar atau input, program ini akan menangkap keabnormalan dan mengendalikannya dengan elegan.
<code class="language-python">try: 分子 = int(input("请输入分子:")) 分母 = int(input("请输入分母:")) 结果 = 分子 / 分母 print(f"结果是 {结果}") except ZeroDivisionError: print("错误:不能除以零!") except ValueError: print("错误:请输入有效的整数!")</code>
kepentingan rawatan yang tidak normal
Ekspresi biasa yang lebih mendalam
Mengapa menggunakan ungkapan biasa?
contoh ungkapan biasa asas
Dalam contoh ini, r "^w @w .w $" adalah mod ekspresi biasa.
<code class="language-python">import re 邮箱 = input("您的邮箱地址是?").strip() if re.search(r"^\w+@\w+\.\w+$", 邮箱): print("有效的邮箱地址") else: print("无效的邮箱地址")</code>
pengesahan e -mel lanjutan
Ungkapan asas asas di atas mungkin tidak menangkap semua format e -mel yang tidak sah. Sebagai contoh, ia membolehkan pelbagai simbol "@", yang tidak dibenarkan dalam alamat e -mel yang berkesan. Ini adalah versi yang lebih baik:
mod ekspresi biasa ini lebih mantap:
Fungsi ekspresi biasa adalah kuat, tetapi mereka mungkin rumit. Sebagai contoh, tempoh dalam ungkapan biasa (.) Padankan mana -mana aksara selain menukar watak. Untuk memadankan tempoh sebenar dalam rentetan, anda perlu menggunakan cerun belakang (.) Untuk membuat kebenaran. Di samping itu, mod ekspresi biasa membezakan kes itu, tetapi anda boleh menggunakan logo Re.ignorcase untuk menangani masalah ini.
<code class="language-python">try: 分子 = int(input("请输入分子:")) 分母 = int(input("请输入分母:")) 结果 = 分子 / 分母 print(f"结果是 {结果}") except ZeroDivisionError: print("错误:不能除以零!") except ValueError: print("错误:请输入有效的整数!")</code>
Ekstrak Maklumat Pengguna
Kod ini Ekstrak Nama Pengguna Twitter dengan memadankan bahagian URL yang berkaitan. (W) menangkap nama pengguna, ia adalah kumpulan perlawanan kedua (kumpulan (2)).
<code class="language-python">import re 邮箱 = input("您的邮箱地址是?").strip() if re.search(r"^\w+@\w+\.\w+$", 邮箱): print("有效的邮箱地址") else: print("无效的邮箱地址")</code>
mengoptimumkan kod dengan ungkapan biasa
Elakkan kesilapan biasa
<code class="language-python">import re 邮箱 = input("您的邮箱地址是?").strip() if re.search(r"^[^@]+@[^@]+\.\w{2,}$", 邮箱): print("有效的邮箱地址") else: print("无效的邮箱地址")</code>
Kod ini akan disusun semula sebagai "nama keluarga" dalam nama "nama keluarga, nama" format.
<code class="language-python">import re 邮箱 = input("您的邮箱地址是?").strip() if re.search(r"^\w+@\w+\.\w+$", 邮箱, re.IGNORECASE): print("有效的邮箱地址") else: print("无效的邮箱地址")</code>
Ekspresi biasa juga boleh memainkan peranan dalam SEO. Sebagai contoh, mereka boleh digunakan untuk penangkapan rangkaian, mengekstrak tag meta atau kandungan khusus dari HTML untuk memastikan kandungan rangkaian dioptimumkan untuk enjin carian.
Contoh ini adalah perihalan elemen dari tanda HTML, yang penting untuk SEO.
<code class="language-python">import re 网址 = input("请输入您的 Twitter 个人资料网址:").strip() 匹配 = re.search(r"^https?://(www\.)?twitter\.com/(\w+)", 网址) if 匹配: 用户名 = 匹配.group(2) print(f"用户名:{用户名}") else: print("无效的网址")</code>
Memahami dan menguasai ekspresi biasa di Python untuk membuka dunia yang penuh dengan kemungkinan, dari pengesahan mudah ke tugas pemprosesan teks yang kompleks. Digabungkan dengan rawatan yang tidak normal yang betul, anda boleh membuat aplikasi yang kuat, cekap dan mesra pengguna. Terus mencuba corak ekspresi biasa yang berbeza. Dengan menguasai konsep -konsep ini, anda bukan sahaja boleh menulis lebih banyak kod ringkas dan lebih cekap, tetapi juga mendapatkan kelebihan membangunkan aplikasi yang dapat mengendalikan input dunia nyata dengan elegan.
Atas ialah kandungan terperinci Ekspresi biasa Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!