RegEx Python
- Halaman Sebelumnya JSON Python
- Halaman Berikutnya PIP Python
RegEx atau ekspresi regula adalah sekumpulan aksara yang digunakan untuk membentuk moden carian.
RegEx boleh digunakan untuk memeriksa sama ada string mengandungi moden carian yang ditetapkan.
RegEx
Python ialah yang menyediakan modul yang dinamakan re
Paket bawaan, dapat digunakan untuk mengelola ekspresi reguler。
Impor re
Modul:
import re
RegEx di Python
Impor re
Modul setelah, kita dapat mulai menggunakan ekspresi reguler:
Contoh
Pencarian string untuk melihat apakah ia dimulai dengan "China" dan berakhir dengan "country":
import re txt = "China is a great country" x = re.search("^China.*country$", txt)
Fungsi RegEx
re
Modul menyediakan grup fungsi yang memungkinkan kita untuk mengecek string untuk cocokan:
Fungsi | Deskripsi |
---|---|
findall | Kembalikan daftar yang mengandung semua item yang cocok |
search | Jika ada cocok di lokasi apapun string, kembalikan objek Match |
split | Kembalikan daftar yang dibagi setiap kali cocok |
sub | Ganti string untuk satu atau lebih item yang cocok |
Karakter meta
Karakter meta adalah karakter yang memiliki makna khusus:
Aksara | Deskripsi | Contoh | TIY |
---|---|---|---|
[] | Sebuah kumpulan karakter | "[a-m]" | Coba |
\ | Menandai seri khusus (juga dapat digunakan untuk mengesampingkan karakter khusus) | "\d" | Coba |
. | Setiap karakter (kecuali karakter baris kosong) | "he..o" | Coba |
^ | Memulai dengan | "^hello" | Coba |
$ | Berakhir dengan | "world$" | Coba |
* | Kemunculan nol atau lebih | "aix*" | Coba |
+ | Kemunculan sekali atau lebih | "aix+" | Coba |
{} | Kemunculan yang disyaratkan tepat | "al{2}" | Coba |
| | Kedua-duanya | "falls|stays" | Coba |
() | Penangkapan dan Penggabungan |
Seri khusus
Seri khusus adalah \
berikutan salah satu karakter di tabel di bawah, memiliki makna khusus:
Aksara | Deskripsi | Contoh | TIY |
---|---|---|---|
\A | Jika aksara yang ditentukan berada di awal string, kembalikan item yang cocok | "\AThe" | Coba |
\b | Kembalikan item yang cocok, dimana aksara yang ditentukan berada di awal atau akhir kata |
r"\bain" r"ain\b" |
Coba Coba |
\B | Kembalikan item yang cocok, dimana aksara yang ditentukan ada tetapi bukan di awal (atau akhir) kata |
r"\Bain" r"ain\B" |
Coba Coba |
\d | Kembalikan item yang cocok, dimana string mengandung angka (angka 0-9) | "\d" | Coba |
\D | Kembalikan item yang cocok, dimana string tidak mengandung angka | "\D" | Coba |
\s | Kembalikan item yang cocok, dimana string mengandung karakter kosong | "\s" | Coba |
\S | Kembalikan item yang cocok, dimana string tidak mengandung karakter kosong | "\S" | Coba |
\w | Kembalikan item yang cocok, dimana string mengandung setiap aksara kata (Aksara dari a sampai Z, angka dari 0 sampai 9 dan simbol garis bawah _) |
"\w" | Coba |
\W | Kembalikan item yang cocok, dimana string tidak mengandung aksara kata | "\W" | Coba |
\Z | Jika aksara yang ditentukan berada di akhir string, kembalikan item yang cocok | "Spain\Z" | Coba |
Kumpulan (Set)
Kumpulan (Set) adalah pasangan tanda kurung yang bertentangan []
Sebuah kumpulan karakter di dalam tanda kurung yang mempunyai makna khusus:
Kumpulan | Deskripsi | Coba |
---|---|---|
[arn] | Mengembalikan item yang cocok untuk ada karakter yang ditentukan (a, r atau n) salah satunya | Coba |
[a-n] | Mengembalikan item yang cocok untuk huruf kecil antara a dan n | Coba |
[^arn] | Mengembalikan item yang cocok untuk ada karakter yang lain daripada a, r dan n | Coba |
[0123] | Mengembalikan item yang cocok untuk ada nombor yang ditentukan (0, 1, 2 atau 3) | Coba |
[0-9] | Mengembalikan item yang cocok untuk nombor antara 0 dan 9 | Coba |
[0-5][0-9] | Mengembalikan item yang cocok untuk nombor antara 0 hingga 9 | Coba |
[a-zA-Z] | Mengembalikan item yang cocok untuk huruf a dan z, kapital atau kecil | Coba |
[+] | Dalam kumpulan, +, *, ., |, (), $, {} tak ada makna khusus, jadi [+] berarti: mengembalikan item yang cocok setiap karakter + di string | Coba |
Fungsi findall()
findall()
Fungsi mengembalikan senarai yang mengandungi semua item yang cocok.
Contoh
Cetak senarai yang cocok:
import re str = "China adalah negara yang hebat" x = re.findall("a", str) print(x)
Senarai ini mengandungi item yang cocok dalam urutan yang ditemukan.
Jika tidak ditemukan item yang cocok, mengembalikan senarai kosong:
Contoh
Jika tidak ditemukan yang cocok, mengembalikan senarai kosong:
import re str = "China adalah negara yang hebat" x = re.findall("USA", str) print(x)
Fungsi search()
search()
Fungsi mencari yang cocok di string, jika ada yang cocok mengembalikan objek Match.
Jika ada beberapa yang cocok, hanya mengembalikan yang pertama:
Contoh
Mencari karakter kosong pertama di string:
import re str = "China adalah negara yang hebat" print("The first white-space character is located in position:\
Jika tidak ditemukan yang cocok, nilai yang dikembalikan Tiada
:
Contoh
Mencari tanpa mengembalikan yang cocok:
import re str = "China adalah negara yang hebat" x = re.search("USA", str) print(x)
Fungsi split()
split()
Fungsi mengembalikan senarai, di mana string dipecah setiap kali cocok:
Contoh
Memecah setiap karakter kosong:
import re str = "China adalah negara yang hebat" x = re.split("\s", str) print(x)
Anda dapat menentukan maxsplit
Parameter untuk mengawal berapa kali muncul:
Contoh
Hanya memecah string di tempat pertama muncul:
import re str = "China adalah negara yang hebat" x = re.split("\s", str, 1) print(x)
Fungsi sub()
sub()
Fungsi menggantikan yang cocok dengan teks yang dipilih anda:
Contoh
Ganti setiap karakter kosong dengan nombor 9:
import re str = "China adalah negara yang hebat" x = re.sub("\s", "9", str) print(x)
Anda dapat menentukan count
Parameter untuk mengawasi jumlah penggantian:
Contoh
Ganti sebanyak dua kali penemuan pertama:
import re str = "China adalah negara yang hebat" x = re.sub("\s", "9", str, 2) print(x)
Objek Match
Objek Match adalah objek yang mengandung informasi tentang pencarian dan hasil.
Komentar:Jika tiada penemuan, nilai yang kembali Tiada
dahulu daripada Objek Match.
Contoh
Pencarian akan kembali Objek Match:
import re str = "China adalah negara yang hebat" x = re.search("a", str) print(x) # akan mencetak objek
Objek Match menyediakan atribut dan metode untuk mengambil informasi tentang pencarian dan hasil:
span()
Tumpukan yang dihasilkan termasuk posisi awal dan akhir penemuan.string
Kembali string yang disampaikan ke fungsigroup()
Kembali bahagian yang disesuaikan dengan penemuan
Contoh
Cetak posisi penemuan pertama (mulai dan akhir).
Cari ekspresi reguler untuk setiap kata yang dimulai dengan huruf besar "C":
import re str = "China adalah negara yang hebat" x = re.search(r"\bC\w+", str) print(x.span())
Contoh
Cetak string yang disampaikan ke fungsi:
import re str = "China adalah negara yang hebat" x = re.search(r"\bC\w+", str) print(x.string)
Contoh
Cetak bahagian yang disesuaikan dengan penemuan.
Cari ekspresi reguler untuk setiap kata yang dimulai dengan huruf besar "C":
import re str = "China adalah negara yang hebat" x = re.search(r"\bC\w+", str) print(x.group())
Komentar:Jika tiada penemuan, nilai yang kembali Tiada
dahulu daripada Objek Match.
- Halaman Sebelumnya JSON Python
- Halaman Berikutnya PIP Python