


Ringkaskan dan susun analisis ungkapan biasa python
Artikel ini membawakan anda pengetahuan yang berkaitan tentang python terutamanya isu yang berkaitan dengan ungkapan biasa Python dan meringkaskan fungsi ekspresi biasa, metakarakter, jujukan khas dan set, objek yang sepadan, dll. Saya harap ini membantu.
Pembelajaran yang disyorkan: tutorial python
Apakah peranan ungkapan biasa? Terdapat banyak kandungan yang ditangkap oleh halaman web kami, dan kami tidak boleh mendapatkan kesemuanya Kami hanya memerlukan sebahagian daripadanya, jadi kami perlu menggunakan ungkapan biasa untuk memadankan kandungan yang kami inginkan.
Modul Ungkapan Biasa
Python mempunyai pakej terbina dalam dipanggil re yang boleh digunakan untuk mengendalikan ungkapan biasa. Import modul semula:
import re
Ungkapan Biasa dalam Python
Selepas mengimport modul semula, anda boleh mula menggunakan ungkapan biasa.
Contohnya: Cari rentetan untuk melihat sama ada ia bermula dengan "The" dan berakhir dengan "Sepanyol":
import re txt = "The rain in Spain"x = re.search("^The.*Spain$", txt)if x: print("匹配成功!")else: print("匹配失败")
Run:
Sudah tentu, anda boleh 't see it now Fahami contoh ini, kerana anda diajar langkah demi langkah, ia tidak akan mengajar anda untuk mencapai langit dalam satu langkah.
Fungsi ungkapan biasa
fungsi findall()
Fungsi findall() mengembalikan senarai yang mengandungi semua padanan.
Contohnya: cetak senarai semua padanan
import re txt = "川川菜鸟啊菜鸟啊"x = re.findall("菜鸟", txt)print(x)
Pulangan berjalan:
Senarai mengandungi padanan mengikut susunan yang ditemui. Jika tiada padanan ditemui, senarai kosong dikembalikan:
import re txt = "菜鸟并不菜"x = re.findall("川川", txt)print(x)if (x): print("匹配成功了哟")else: print("找不到这个呀!")
Running returns:
search() function
Fungsi search() mencari padanan dalam rentetan dan mengembalikan objek Padanan jika terdapat padanan. Jika terdapat berbilang padanan, hanya kejadian pertama perlawanan dikembalikan. Contohnya: Cari aksara ruang putih pertama dalam rentetan:
import re txt = "菜鸟 呢"x = re.search("\s", txt)print("第一个空格字符位于位置:", x.start())
Jika tiada padanan ditemui, Tiada mengembalikan nilai ini:
import re txt = "天上飞的是菜鸟"x = re.search("川川", txt)print(x)
Contohnya: Pisah pada setiap aksara ruang putih
import re txt = "菜鸟 学 python"x = re.split("\s", txt)print(x)
Anda boleh mengawal bilangan kejadian dengan menentukan parameter maxsplit
Contohnya: Hanya Pisahkan rentetan pada kejadian pertama:
import re#Split the string at the first white-space character:txt = "飞起来 菜鸟 们"x = re.split("\s", txt, 1)print(x)
fungsi sub()
Sub( ) fungsi menggantikan padanan dengan teks pilihan anda. Contohnya: cuma gantikan
import re txt = "学python就找川川菜鸟"x = re.sub("就", "只", txt)print(x)
Anda boleh mengawal bilangan penggantian dengan menyatakan parameter kiraan:
Contohnya, gantikan 2 kejadian pertama:
import re txt = "学python就就就川川菜鸟"x = re.sub("就", "只", txt,2)print(x)
Simbol senarai
[] untuk set aksara Contoh: # Cari semua aksara kecil antara "a" dan "m" mengikut abjad
import re txt = "apple chuanchuan "#按字母顺序查找“a”和“m”之间的所有小写字符x = re.findall("[a-m]", txt)print(x)
watak melarikan diri
** mewakili urutan khas (juga boleh digunakan untuk melarikan diri aksara khas) Contohnya, padankan semua nombor:
import re txt = "我今年20岁了"#查找所有数字字符x = re.findall("\d", txt)print(x)
Sebarang simbol
. boleh menjadi sebarang watak (kecuali baris baharu). Contohnya: Cari urutan yang bermula dengan "dia" diikuti dengan dua aksara (sewenang-wenangnya) dan "o"
import re txt = "hello world"#搜索以“he”开头、后跟两个(任意)字符和一个“o”的序列x = re.findall("he..o", txt)print(x)
Simbol mula
^ simbol digunakan untuk memadankan permulaan.import re txt = "川川菜鸟 飞起来了"x = re.findall("^川", txt)if x: print("哇,我匹配到了")else: print("哎呀,匹配不了啊")
结束符
$ 符号用于匹配结尾,例如:匹配字符串是否以“world”结尾
import re txt = "hello world"#匹配字符串是否以“world”结尾x = re.findall("world$", txt)if x: print("匹配成功了耶")else: print("匹配不到哦")
运行:
星号符
- 星号符用于匹配零次或者多次出现。
import re txt = "天上飞的是菜鸟,学python找川川菜鸟!"#检查字符串是否包含“ai”后跟 0 个或多个“x”字符:x = re.findall("菜鸟*", txt)print(x)if x: print("匹配到了!")else: print("气死了,匹配不到啊")
运行:
加号符
+ 用于匹配一次或者多次出现
例如:检查字符串是否包含“菜鸟”后跟 1 个或多个“菜鸟”字符:
import re txt = "飞起来了,菜鸟们!"#检查字符串是否包含“菜鸟”后跟 1 个或多个“菜鸟”字符:x = re.findall("菜鸟+", txt)print(x)if x: print("匹配到了!")else: print("烦死了,匹配不到")
运行:
集合符号
{} 恰好指定的出现次数
例如:检查字符串是否包含“川”两个
import re txt = "川川菜鸟并不菜!"#检查字符串是否包含“川”两个x = re.findall("川{2}", txt)print(x)if x: print("匹配到了两次的川")else: print("匹配不到啊,帅哥")
返回:
或符
| 匹配两者任一
例如:匹配字符串菜鸟或者是我了
import re txt = "菜鸟们学会python了吗?串串也是菜鸟啊!"x = re.findall("菜鸟|是我了", txt)print(x)if x: print("匹配到了哦!")else: print("匹配失败")
运行:
特殊序列
指定字符
\A : 如果指定的字符位于字符串的开头,则返回匹配项。
例如:匹配以菜字符开头的字符
import re txt = "菜鸟在这里"x = re.findall("\A菜", txt)print(x)if x: print("是的匹配到了")else: print("匹配不到")
运行:
指定开头结尾
\b 返回指定字符位于单词开头或结尾的匹配项 (开头的“r”确保字符串被视为原始字符串)。
例如:匹配爱开头
import re txt = "爱你,川川"x = re.findall(r"\b爱", txt)print(x)if x: print("匹配到了")else: print("匹配不到")
运行:
又例如:匹配川结尾
import re txt = "爱你,川川"x = re.findall(r"川\b", txt)print(x)if x: print("匹配到了")else: print("匹配不到")
运行:
匹配中间字符
\B 返回存在指定字符但不在单词开头(或结尾)的匹配项 (开头的“r”确保字符串被视为“原始字符串”)
比如我匹配菜鸟:
import re txt = "我是菜鸟我是菜鸟啊"#检查是否存在“ain”,但不是在单词的开头:x = re.findall(r"\菜鸟", txt)print(x)if x: print("匹配到了嘛!!")else: print("匹配不到哇!")
运行:
但是你匹配结尾就会返回空,比如我匹配鸟:
import re txt = "川川菜鸟"#检查是否存在“鸟”,但不是在单词的末尾:x = re.findall(r"鸟\B", txt)print(x)if x: print("匹配到了哦")else: print("找不到")
运行:
匹配数字
\d 返回字符串包含数字(0-9 之间的数字)的匹配项。
例如:
import re txt = "我今年20岁了啊"#检查字符串是否包含任何位数(0-9的数字)x = re.findall("\d", txt)print(x)if x: print("哇哇哇,匹配到数字了")else: print("找不到哦")
运行:
匹配非数字
\D 返回字符串不包含数字的匹配项
例如:
import re txt = "我今年20岁"#匹配任何非数字符号x = re.findall("\D", txt)print(x)if x: print("匹配到了,开心!")else: print("匹配不到,生气")
运行:
空格匹配
\s 返回一个匹配字符串包含空白空间字符的匹配项。
例如:
import re txt = "我 是 川 川 菜 鸟"#匹配任何空格字符x = re.findall("\s", txt)print(x)if x: print("匹配到了")else: print("匹配不到啊")
运行:
匹配非空格
\S 返回字符串不包含空格字符的匹配项
import re txt = "菜鸟是 我 了"#匹配任意非空字符x = re.findall("\S", txt)print(x)if x: print("匹配到了!")else: print("匹配不到啊")
运行:
匹配任意数字和字母
返回一个匹配,其中字符串包含任何单词字符(从 a 到 Z 的字符,从 0 到 9 的数字,以及下划线 _ 字符)
例如:
import re txt = "菜鸟啊 是串串呀"#在每个单词字符(从a到z的字符,0-9的数字)返回匹配项,以及下划线_字符):x = re.findall("\w", txt)print(x)if x: print("匹配到了啊")else: print("匹配不到哇")
运行:
匹配任意非数字和字母
返回字符串不包含任何单词字符的匹配项,在每个非单词字符中返回匹配(不在A和Z之间的字符。“!”,“?”空白位等)
例如:
import re txt = "菜鸟 是 我嘛?我不信!!"#在每个非单词字符中返回匹配(不在A和Z之间的字符。“!”,“?”空白位等):x = re.findall("\W", txt)print(x)if x: print("匹配到了!")else: print("匹配不到啊")
运行:
匹配结尾
\Z 如果指定的字符位于字符串的末尾,则返回匹配项。
例如:
import re txt = "川川是菜鸟啊"x = re.findall("啊\Z", txt)print(x)if x: print("匹配到了哦!")else: print("匹配不到")
集合套装
指定符范围匹配
例如集合:[arn]
import re txt = "The rain in Spain"x = re.findall("[arn]", txt)print(x)if x: print("匹配到了!")else: print("匹配不到")
匹配任意范围内小写字母
返回任何小写字符的匹配项,按字母顺序在 a 和 n 之间。
例如:
import re txt = "hello wo r l d"x = re.findall("[a-n]", txt)print(x)if x: print("匹配到了!")else: print("匹配不到")
运行:
同样的道理,依次其它情况如下:
[^arn] 返回除 a、r 和 n 之外的任何字符的匹配项
[0123] 返回存在任何指定数字(0、1、2 或 3)的匹配项
[0-9] 返回 0 到 9 之间任意数字的匹配项
[0-5][0-9] 返回 00 到 59 中任意两位数的匹配项
[a-zA-Z] 按字母顺序返回 a 和 z 之间的任何字符的匹配,小写或大写
[+] 在集合中,+, *, ., |, (), $,{} 没有特殊含义,所以 [+] 的意思是:返回字符串中任意 + 字符的匹配项。这个我i举个例子:
import re txt = "5+6=11"#检查字符串是否有任何 + 字符:x = re.findall("[+]", txt)print(x)if x: print("匹配到了")else: print("匹配不到")
运行:
匹配对象
匹配对象是包含有关搜索和结果的信息的对象。注意:如果没有匹配,None将返回值,而不是匹配对象。
直接举个例子:
执行将返回匹配对象的搜索
import re#search() 函数返回一个 Match 对象:txt = "hello world"x = re.search("wo", txt)print(x)
运行:
Match 对象具有用于检索有关搜索和结果的信息的属性和方法:
span()返回一个包含匹配开始和结束位置的元组。 string返回传递给函数的字符串 group()返回字符串中匹配的部分
span函数
例如:打印第一个匹配项的位置(开始和结束位置)。正则表达式查找任何以大写“S”开头的单词:
import re#搜索单词开头的大写“S”字符,并打印其位置txt = "The rain in Spain"x = re.search(r"\bS\w+", txt)print(x.span())
运行:
string函数
例如:打印传递给函数的字符串
import re#返回字符串txt = "The rain in Spain"x = re.search(r"\bS\w+", txt)print(x.string)
group函数
例如:打印字符串中匹配的部分。正则表达式查找任何以大写“S”开头的单词
import re#搜索单词开头的大写“w”字符,并打印该单词:txt = "hello world"x = re.search(r"\bw\w+", txt)print(x.group())
运行:
注意:如果没有匹配,None将返回值,而不是匹配对象。
推荐学习:python教程
Atas ialah kandungan terperinci Ringkaskan dan susun analisis ungkapan biasa python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Kod VS boleh dijalankan pada Windows 8, tetapi pengalaman mungkin tidak hebat. Mula -mula pastikan sistem telah dikemas kini ke patch terkini, kemudian muat turun pakej pemasangan kod VS yang sepadan dengan seni bina sistem dan pasangnya seperti yang diminta. Selepas pemasangan, sedar bahawa beberapa sambungan mungkin tidak sesuai dengan Windows 8 dan perlu mencari sambungan alternatif atau menggunakan sistem Windows yang lebih baru dalam mesin maya. Pasang sambungan yang diperlukan untuk memeriksa sama ada ia berfungsi dengan betul. Walaupun kod VS boleh dilaksanakan pada Windows 8, disyorkan untuk menaik taraf ke sistem Windows yang lebih baru untuk pengalaman dan keselamatan pembangunan yang lebih baik.

Kod VS boleh digunakan untuk menulis Python dan menyediakan banyak ciri yang menjadikannya alat yang ideal untuk membangunkan aplikasi python. Ia membolehkan pengguna untuk: memasang sambungan python untuk mendapatkan fungsi seperti penyempurnaan kod, penonjolan sintaks, dan debugging. Gunakan debugger untuk mengesan kod langkah demi langkah, cari dan selesaikan kesilapan. Mengintegrasikan Git untuk Kawalan Versi. Gunakan alat pemformatan kod untuk mengekalkan konsistensi kod. Gunakan alat linting untuk melihat masalah yang berpotensi lebih awal.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.

Sambungan kod VS menimbulkan risiko yang berniat jahat, seperti menyembunyikan kod jahat, mengeksploitasi kelemahan, dan melancap sebagai sambungan yang sah. Kaedah untuk mengenal pasti sambungan yang berniat jahat termasuk: memeriksa penerbit, membaca komen, memeriksa kod, dan memasang dengan berhati -hati. Langkah -langkah keselamatan juga termasuk: kesedaran keselamatan, tabiat yang baik, kemas kini tetap dan perisian antivirus.
