Rumah >pembangunan bahagian belakang >Tutorial Python >Cara menggunakan ungkapan biasa Python untuk padanan rentetan

Cara menggunakan ungkapan biasa Python untuk padanan rentetan

WBOY
WBOYasal
2023-06-23 10:17:0124237semak imbas

Ekspresi biasa ialah alat pemprosesan rentetan yang berkuasa yang boleh membantu kami melakukan operasi pemadanan, pengekstrakan dan penggantian rentetan dengan mudah. Dalam Python, kita boleh menggunakan fungsi dan kaedah yang disediakan oleh modul semula untuk melaksanakan operasi berkaitan ungkapan biasa. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk padanan rentetan.

1. Sintaks ungkapan biasa asas

Apabila menggunakan ungkapan biasa Python, kita perlu memahami beberapa peraturan sintaks asas. Berikut ialah beberapa simbol dan makna ungkapan biasa yang biasa digunakan:

  1. ^: Padan dengan permulaan rentetan.
  2. $: Padankan hujung rentetan.
  3. .: Padan dengan mana-mana watak.
  4. *: Padan dengan aksara sebelumnya sifar atau lebih kali.
  5. +: Padankan watak sebelumnya satu kali atau lebih.
  6. ?: Padan dengan aksara sebelumnya sifar atau satu masa.
  7. []: Memadankan mana-mana aksara yang disenaraikan dalam kurungan.
  8. [^]: Memadankan mana-mana aksara kecuali aksara yang disenaraikan dalam kurungan.
  9. (): Menandakan permulaan dan akhir subungkapan.

Sebagai contoh, menggunakan ^ dan $ boleh memadankan keseluruhan rentetan dengan tepat:

import re

pattern = "^hello$"
string = "hello"
result = re.match(pattern, string)
print(result)

Keluarannya ialah:

<re.Match object; span=(0, 5), match='hello'>

Dalam kod di atas, ^hello$ The maksudnya ialah memadankan rentetan bermula dan berakhir dengan hello. Memandangkan rentetan betul-betul memenuhi syarat ini, re.match mengembalikan objek padanan. Jika perlawanan gagal, nilai pulangan ialah Tiada.

2. Fungsi re.match

Fungsi re.match boleh memadankan ungkapan biasa pada permulaan rentetan yang diberikan Jika perlawanan berjaya, ia mengembalikan objek yang sepadan, jika tidak pulangan Tiada. Berikut ialah contoh penggunaan re.match:

import re

pattern = "^hello$"
string = "hello, world!"
result = re.match(pattern, string)

if result:
    print("匹配成功")
else:
    print("匹配失败")

Dalam kod di atas, memandangkan rentetan rentetan tidak memenuhi syarat corak ungkapan biasa, re.match mengembalikan Tiada dan hasil output ialah "padanan gagal".

3. Fungsi carian semula

Fungsi carian semula boleh memadankan ungkapan biasa dalam keseluruhan rentetan Jika padanan berjaya, ia mengembalikan objek yang sepadan, jika tidak, ia akan mengembalikan Tiada. Berikut ialah contoh penggunaan re.search:

import re

pattern = "world"
string = "hello, world!"
result = re.search(pattern, string)

if result:
    print("匹配成功")
else:
    print("匹配失败")

Dalam kod di atas, memandangkan rentetan rentetan mengandungi subrentetan dunia, re.search mengembalikan objek yang sepadan dan hasil output ialah "berjaya padan".

4. Fungsi re.findall

Fungsi re.findall boleh mengembalikan senarai yang mengandungi semua subrentetan yang sepadan dengan ungkapan biasa dalam keseluruhan rentetan. Berikut ialah contoh menggunakan re.findall:

import re

pattern = "d+"
string = "hello, 123 world! 456"
result = re.findall(pattern, string)

print(result)

Dalam kod di atas, ungkapan biasa d+ boleh memadankan satu atau lebih nombor, jadi re.findall mengembalikan senarai yang mengandungi 123 dan 456.

5. fungsi re.sub

Fungsi re.sub boleh menggantikan semua subrentetan yang sepadan dengan ungkapan biasa dengan rentetan yang ditentukan. Berikut ialah contoh penggunaan re.sub:

import re

pattern = "d+"
string = "hello, 123 world! 456"
result = re.sub(pattern, "number", string)

print(result)

Dalam kod di atas, ungkapan biasa d+ boleh memadankan satu atau lebih nombor, jadi re.sub akan menggantikan kedua-dua 123 dan 456 dengan nombor rentetan".

6. fungsi re.split

Fungsi re.split boleh menggunakan ungkapan biasa untuk membelah rentetan. Berikut ialah contoh penggunaan re.split:

import re

pattern = "s+"
string = "hello, world!"
result = re.split(pattern, string)

print(result)

Dalam kod di atas, ungkapan biasa s+ boleh memadankan satu atau lebih ruang, jadi re.split akan menggunakan ruang dalam rentetan sebagai pembatas rentetan dan akhirnya mengeluarkan dua rentetan ["hello,", "world!"].

7. Ringkasan

Artikel ini memperkenalkan cara menggunakan ungkapan biasa Python untuk pemadanan rentetan. Dengan menguasai sintaks ungkapan biasa asas dan fungsi serta kaedah yang disediakan oleh modul semula, kami boleh membantu kami melaksanakan pemprosesan rentetan dan perlombongan teks dengan lebih cekap. Perlu diingatkan bahawa ungkapan biasa sering menggunakan beberapa aksara khas dan perlu dilepaskan, jika tidak, ralat yang tidak dijangka akan berlaku. Untuk mengetahui lebih lanjut tentang ungkapan biasa, sila rujuk tutorial dan dokumentasi yang berkaitan.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa Python untuk padanan 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