re.match dan re.search

fungsi re.match

Sintaks:

re.match(pattern, string, flags=0)

re.match cuba memadankan corak dari kedudukan permulaan rentetan Jika padanan tidak berjaya di kedudukan permulaan, match() tidak mengembalikan apa-apa.

fungsi re.search

Sintaks:

re.search(pattern, string, flags=0)

re.search mengimbas keseluruhan rentetan dan mengembalikan perlawanan pertama yang berjaya. Parameter

re.match dan re.search pada dasarnya sama.

untuk memadankan Rentetan Jadi apakah perbezaan antara mereka? re.match hanya sepadan dengan permulaan rentetan Jika permulaan rentetan tidak sepadan dengan ungkapan biasa, padanan gagal dan fungsi itu tidak mengembalikan sebarang manakala re.search sepadan dengan keseluruhan rentetan sehingga padanan ditemui. Ini adalah perbezaan antara mereka. re.match dan re.search diperkenalkan secara terperinci dalam talian, tetapi untuk kegunaan peribadi, saya masih suka menggunakan re.findallLihat contoh di bawah untuk membandingkan re.search dan re.findall Perbezaannya terletak pada penggunaan daripada pelbagai kumpulan. Lihat komen secara khusus dan bandingkan hasil output: Contoh:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# 提取图片的地址
import re
a = '<img src="https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg">'
# 使用 re.search
search = re.search('<img src="(.*)">', a)
# group(0) 是一个完整的分组
print(search.group(0))
print(search.group(1))
# 使用 re.findall
findall = re.findall('<img src="(.*)">', a)
print(findall)
# 多个分组的使用(比如我们需要提取 img 字段和图片地址字段)
re_search = re.search('<(.*) src="(.*)">', a)
# 打印 img
print(re_search.group(1))
# 打印图片地址
print(re_search.group(2))
# 打印 img 和图片地址,以元祖的形式
print(re_search.group(1, 2))
# 或者使用 groups
print(re_search.groups())
Hasil output: Akhir sekali, ungkapan biasa adalah alat yang sangat berkuasa dan biasanya boleh digunakan untuk menyelesaikan masalah yang tidak dapat diselesaikan oleh rentetan terbina dalam Dan ungkapan biasa tersedia dalam kebanyakan bahasa. Python mempunyai banyak kegunaan, tetapi ungkapan biasa sangat diperlukan dalam kedua-dua perangkak dan modul analisis data. Jadi ungkapan biasa sangat penting untuk mempelajari Python. Akhir sekali, ia disertakan dengan beberapa ungkapan biasa biasa dan metakarakter ungkapan biasa dan dokumen sintaks yang disokong oleh Python.
bendera bendera digunakan untuk mengawal kaedah pemadanan ungkapan biasa, seperti: sama ada ia sensitif huruf besar dan kecil
<img src="https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg">
https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg
['https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg']
img
https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg
('img', 'https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg')
('img', 'https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg')
Meneruskan pembelajaran
  • Cadangan kursus
  • Muat turun perisian kursus