Rumah > pembangunan bahagian belakang > Tutorial Python > Cara menggunakan ungkapan biasa Python untuk pengekstrakan kandungan

Cara menggunakan ungkapan biasa Python untuk pengekstrakan kandungan

WBOY
Lepaskan: 2023-06-22 15:04:17
asal
6903 orang telah melayarinya

Python ialah bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas dengan perpustakaan dan alatan yang kaya yang menjadikan pengekstrakan kandungan lebih mudah dan lebih cekap. Antaranya, ungkapan biasa adalah alat yang sangat penting, dan Python menyediakan modul semula untuk menggunakan ungkapan biasa untuk pengekstrakan kandungan. Artikel ini akan memperkenalkan anda kepada langkah khusus tentang cara menggunakan ungkapan biasa Python untuk pengekstrakan kandungan.

1. Fahami sintaks asas ungkapan biasa

Sebelum menggunakan ungkapan biasa Python untuk pengekstrakan kandungan, anda perlu memahami peraturan sintaks asas ungkapan biasa. Ungkapan biasa ialah corak teks yang digunakan untuk menerangkan corak aksara Sintaks asasnya termasuk yang berikut:

1 memadankan permulaan baris, '$' bermaksud memadankan hujung baris, dsb.

2. Set aksara: Menunjukkan bahawa ia boleh memadankan satu daripada berbilang aksara Contohnya: '[abc]' bermakna ia sepadan dengan mana-mana satu aksara 'a', 'b' dan 'c'.

3. Pengkuantiti: simbol yang menunjukkan bilangan padanan, seperti: '*' bermaksud memadankan sifar atau lebih kali, '+' bermaksud memadankan satu atau lebih kali, '?' bermaksud memadankan sifar atau satu masa , dsb.

4. Pengumpulan: Gabungkan berbilang aksara menjadi satu keseluruhan untuk dipadankan, contohnya: '(abc)' bermaksud memadankan keseluruhan 'abc'.

2 Gunakan modul semula untuk pemadanan ungkapan biasa

Dalam Python, alat utama untuk pengekstrakan kandungan menggunakan ungkapan biasa ialah modul semula. Modul ini menyediakan satu set fungsi yang memudahkan pemadanan ungkapan biasa.

Fungsi 1.re.match(): sepadan dengan ungkapan biasa pada permulaan rentetan. Jika perlawanan berjaya, objek sepadan dikembalikan jika perlawanan gagal, Tiada dikembalikan.

Kod sampel:

import re

# 匹配字符串中的数字
text = 'Hello 123456 World'
matchObj = re.match(r'd+', text)

if matchObj:
    print("matchObj.group() : ", matchObj.group())
else:
    print("No match!!")
Salin selepas log masuk

Hasil output:

matchObj.group() : 123456
Salin selepas log masuk
Salin selepas log masuk

Fungsi 2.re.search(): Padankan ungkapan biasa dalam keseluruhan rentetan. Jika perlawanan berjaya, objek sepadan dikembalikan jika perlawanan gagal, Tiada dikembalikan.

Kod sampel:

import re

# 搜索字符串中的数字
text = 'Hello 123456 World'
matchObj = re.search(r'd+', text)

if matchObj:
    print("matchObj.group() : ", matchObj.group())
else:
    print("No match!!")
Salin selepas log masuk

Hasil keluaran:

matchObj.group() : 123456
Salin selepas log masuk
Salin selepas log masuk

Fungsi 3.re.findall(): Cari semua subrentetan yang sepadan dengan ungkapan biasa dalam rentetan dan Kembalikan senarai .

Kod sampel:

import re

# 查找字符串中的所有数字
text = 'Hello 123456 World'
matchList = re.findall(r'd+', text)

print(matchList)
Salin selepas log masuk

Hasil keluaran:

['123456']
Salin selepas log masuk

Fungsi 4.re.sub(): Gantikan subrentetan yang sepadan dengan ungkapan biasa dalam rentetan.

Kod sampel:

import re

# 将字符串中的数字替换为'X'
text = 'Hello 123456 World'
newText = re.sub(r'd+', 'X', text)

print(newText)
Salin selepas log masuk

Hasil keluaran:

Hello X World
Salin selepas log masuk

3 Contoh analisis

Yang berikut menggunakan contoh untuk memahami lebih lanjut penggunaan ungkapan biasa Python .

Di Internet, banyak tapak web mempunyai sekatan perangkak dan memerlukan penggunaan kuki untuk pengesahan. Jadi bagaimana anda mengekstrak kuki daripada pengepala respons HTTP menggunakan ungkapan biasa Python? Sila lihat kod contoh di bawah:

import re

# 模拟HTTP响应头
responseHeader = '''
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Set-Cookie: SESSIONID=1234567890abcdef; Domain=example.com; Path=/
Set-Cookie: USERNAME=admin; Domain=example.com; Path=/
'''

# 提取cookie
cookiePattern = r'Set-Cookie: (.+?);'
cookieList = re.findall(cookiePattern, responseHeader)

# 输出cookie
print(cookieList)
Salin selepas log masuk

Hasil keluaran:

['SESSIONID=1234567890abcdef', 'USERNAME=admin']
Salin selepas log masuk

Dengan menggunakan fungsi re.findall() dan corak ungkapan biasa 'Set-Cookie: (.+?);' , maklumat kuki boleh diekstrak dengan mudah daripada pengepala respons HTTP.

4. Ringkasan

Artikel ini memperkenalkan peraturan sintaks asas ungkapan biasa Python dan cara menggunakan modul semula untuk padanan ungkapan biasa. Melalui contoh khusus, ia menunjukkan cara menggunakan ungkapan biasa Python untuk mengekstrak kuki daripada pengepala respons HTTP. Ekspresi biasa ialah alat yang sangat penting dalam Python, yang boleh memudahkan pengekstrakan kandungan. Semoga artikel ini dapat membantu anda menjadi lebih baik dalam menggunakan Python untuk pengekstrakan kandungan.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa Python untuk pengekstrakan kandungan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan