/Pengenalan/
Python telah menambah modul semula sejak versi 1.5, yang menyediakan corak ekspresi biasa gaya Perl. Modul re membolehkan bahasa Python mempunyai semua fungsi ekspresi biasa.
Fungsi kompilasi menjana objek ungkapan biasa berdasarkan rentetan corak dan parameter bendera pilihan. Objek ini mempunyai satu siri kaedah untuk pemadanan dan penggantian ungkapan biasa.
Modul semula juga menyediakan fungsi yang betul-betul sama dengan kaedah ini. Fungsi ini mengambil rentetan corak sebagai parameter pertamanya.
/re.match function/
re.match cuba memadankan corak dari kedudukan permulaan rentetan, jika kedudukan permulaan tidak dipadankan tiada. Sintaksnya adalah seperti berikut:
re.match(pattern, string, flags=0)
"corak" sepadan dengan ungkapan biasa "rentetan" dan rentetan bendera "bendera" untuk dipadankan.
Jika perlawanan berjaya, kaedah re.match mengembalikan objek yang sepadan, jika tidak, ia mengembalikan Tiada.
Kita boleh menggunakan fungsi objek padanan kumpulan(num) atau kumpulan() untuk mendapatkan ungkapan yang sepadan.
group(num=0) 匹配的整个表达式的字符串,“group()”可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
下图是个实际例子:
输出结果如下图所示:
/检索和替换/
Python 的re模块提供了re.sub用于替换字符串中的匹配项。语法如下所示:
re.sub(pattern, repl, string, count=0, flags=0)
参数:
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
flags : 编译时用的匹配模式,数字形式。
前三个为必参数,后两个为可选参数。
下图是个实际例子:
输出结果如下图所示:
/compile函数/
compile 函数用于编译正则表达式,供match() 和 search() 这两个函数使用。语法格式为:
re.compile(pattern[, flags])
参数:
pattern : 一个字符串形式的正则表达式
flags 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:
re.I 忽略大小写
re.L mewakili set aksara khas w, W, b, B, s, S bergantung pada persekitaran semasa
mod berbilang baris re.M
re.S ialah ' aksara baris baharu Mana-mana aksara termasuk (' . 'tidak termasuk pemisah baris)
re.U mewakili set aksara khas w, W, b, B, d, D, s, S dan bergantung pada pangkalan data atribut aksara Unicode
semula.
re.MatchObject: group() mengembalikan rentetan yang dipadankan dengan RE. Mula () Kembali ke kedudukan permulaan yang sepadan
TAMAT () Mengembalikan kedudukan kedudukan padanan pengubah suai ungkapan biasa - bendera pilihan/Ekspresi biasa boleh mengandungi beberapa pengubah suai bendera pilihan untuk mengawal corak yang dipadankan. Pengubah suai ditentukan sebagai bendera pilihan. Bendera berbilang boleh ditentukan dengan bitwise ATAU(|) mereka. Contohnya, re.I |. re.M ditetapkan kepada bendera I dan M:
re.I | menjadikan perlawanan tidak sensitif huruf besar dan kecil | ||||
re | semula. re.U | ||||
Unicode. Tanda ini mempengaruhi | w, W, b, B.|||||
semula. | /corak ungkapan biasa/ Rentetan corak menggunakan sintaks khas untuk mewakili ungkapan biasa: Huruf dan nombor mewakili diri mereka sendiri. Huruf dan nombor dalam corak ungkapan biasa sepadan dengan rentetan yang sama. Kebanyakan huruf dan nombor mempunyai makna yang berbeza apabila didahului dengan garis serong ke belakang. Tanda baca hanya sepadan dengan diri mereka sendiri jika ia dilepaskan, jika tidak, ia mewakili makna yang istimewa. Serikan ke belakang itu sendiri perlu dilepaskan dengan garis serong ke belakang. Memandangkan ungkapan biasa biasanya mengandungi garis miring ke belakang, lebih baik anda menggunakan rentetan mentah untuk mewakilinya. Elemen corak (seperti r't', bersamaan dengan \t) sepadan dengan aksara khas yang sepadan. Jadual berikut menyenaraikan elemen istimewa dalam sintaks corak ungkapan biasa. Jika anda menggunakan corak dan memberikan hujah bendera pilihan, maksud beberapa elemen corak akan berubah. Contoh Ungkapan Biasa Padanan Watak Contoh sepadan dengan "python". 字符类 /实际应用/ 以猫眼电影为例。我们需要获取(电影的名字作者,上映时间)等等都可以用正则表达式来解析。 分析一下,利用正则表达式提取。 可以看到我们要的名字在一个a里面,而他们被一个div包裹着。 我们把div想象成一个盒子,可以看到div里面还有一个div 我们可以先找他上面一层的div是一个表单 分析完再实际操作一下: (.*?)表示我们要的内容 (.*?) /小结/ 1. Ungkapan biasa sesuai untuk senario di mana berbilang data perlu diperolehi. Ia boleh mendapatkan data yang kita inginkan dengan lebih pantas. 2. Artikel ini memperkenalkan ungkapan biasa dan penggunaan asasnya Untuk penggunaan khusus bagi setiap aksara, anda boleh merujuk artikel siri ungkapan biasa dalam kata pengantar . Atas ialah kandungan terperinci Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP! |