Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Fungsi ungkapan biasa yang membolehkan anda memproses teks dengan lebih baik

Fungsi ungkapan biasa yang membolehkan anda memproses teks dengan lebih baik

PHPz
PHPzasal
2023-06-15 21:28:35659semak imbas

Ungkapan Biasa ialah alat untuk memadankan corak teks Melalui beberapa peraturan tatabahasa tertentu, anda boleh mencari dan memadankan kandungan yang memenuhi keperluan dalam teks ini digunakan secara meluas dalam pemprosesan teks , pengaturcaraan dan lain-lain padang.

Dalam pemprosesan teks sebenar, selalunya perlu mengekstrak serpihan teks yang mematuhi peraturan tertentu dan melakukan beberapa operasi padanya, seperti penggantian, pemadaman, pengekstrakan, dsb. Operasi ini boleh diselesaikan dengan mudah menggunakan ungkapan biasa Sama ada editor teks atau bahasa pengaturcaraan, fungsi ungkapan biasa yang berkaitan terbina dalam untuk digunakan oleh pembangun.

1. Fungsi ungkapan biasa yang biasa digunakan

  1. re.compile(corak, bendera): Susun ungkapan biasa ke dalam objek ungkapan biasa untuk kegunaan seterusnya.
  2. re.search(corak, rentetan, bendera): Cari padanan ungkapan biasa dalam rentetan, kembalikan objek padanan pertama atau Tiada jika tiada padanan.
  3. re.match(corak, rentetan, bendera): Cuba padankan ungkapan biasa dari permulaan rentetan Jika perlawanan berjaya, kembalikan objek pertama yang dipadankan, kembalikan Tiada .
  4. re.findall(corak, rentetan, bendera): Cari semua item dalam rentetan yang sepadan dengan ungkapan biasa dan kembalikan senarai, atau senarai kosong jika tiada padanan.
  5. re.sub(pattern, repl, string, count=0, flags=0): Gunakan repl untuk menggantikan semua item dalam rentetan yang sepadan dengan corak ungkapan biasa Anda boleh mengehadkan bilangan penggantian melalui kiraan Jika tiada padanan, rentetan asal dikembalikan.
  6. re.split(pattern, string, maxsplit=0, flags=0): Pisahkan rentetan ke dalam senarai mengikut corak ungkapan biasa dan kembalikan senarai Anda boleh mengehadkan bilangan pecahan melalui maxsplit Jika tiada padanan, rentetan asal dikembalikan.
  7. re.finditer(pattern, string, flags=0): Cari semua item dalam rentetan yang sepadan dengan corak ungkapan biasa dan kembalikan iterator yang melaluinya objek yang sepadan boleh diakses mengikut turutan.

2. Kes aplikasi praktikal

  1. Mengekstrak nombor telefon mudah alih:

Dalam senario perniagaan sebenar, kita mungkin perlu mengekstrak daripada teks Untuk nombor telefon mudah alih, anda boleh menggunakan ungkapan biasa untuk memadankan corak nombor telefon mudah alih.

Kod adalah seperti berikut:

import re

text = "我的电话号码是:13888888888,欢迎来电咨询。"

pattern = re.compile(r"1[3456789]d{9}")

res = re.search(pattern, text)

if res:

    print("电话号码:", res.group())

else:

    print("未匹配到电话号码")

Hasil output ialah: Nombor telefon: 13888888888.

  1. Pembersihan data:

Apabila menjalankan analisis data, mungkin perlu mengalih keluar beberapa aksara yang tidak berguna daripada data, seperti tanda baca khusus, teg HTML, dsb. Fungsi ini boleh dicapai dengan mudah menggunakan ungkapan biasa.

Kod adalah seperti berikut:

import re

text = "<title>数据分析入门指南</title>"

pattern = re.compile(r"<.+?>")

res = re.sub(pattern, "", text)

print(res)

Hasil output ialah: Panduan Bermula untuk Analisis Data.

  1. Pengesahan format e-mel:

Dalam senario seperti pendaftaran pengguna dan log masuk, selalunya perlu untuk mengesahkan sama ada format e-mel adalah betul, yang boleh dicapai menggunakan biasa ungkapan .

Kod adalah seperti berikut:

import re

email = "test@test.com"

pattern = re.compile(r"^w+([-+._]w+)*@w+([-.]w+)*.w+([-.]w+)*$")

res = re.match(pattern, email)

if res:

    print("邮箱格式正确")

else:

    print("邮箱格式错误")

Hasil output ialah: format e-mel adalah betul.

3. Ringkasan

Walaupun ungkapan biasa sukar difahami, menguasai fungsi dan peraturan tatabahasa yang berkaitan boleh memainkan peranan penting dalam pemprosesan teks, pengaturcaraan, dsb. Fungsi ungkapan biasa yang biasa digunakan termasuk re.compile(), re.search(), re.match(), re.findall(), re.sub(), re.split(), re.finditer(), dsb. , Fungsi seperti carian teks, pembersihan, pengesahan format, dsb. boleh dilaksanakan dengan mudah. Dalam penggunaan sebenar, adalah perlu untuk memilih corak ekspresi biasa yang sesuai mengikut senario yang berbeza untuk meningkatkan kecekapan dan ketepatan pemprosesan.

Atas ialah kandungan terperinci Fungsi ungkapan biasa yang membolehkan anda memproses teks dengan lebih baik. 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