Jadual Kandungan
Contoh Ungkapan Biasa
Python 中的正则表达式
结论

Ungkapan biasa dalam Python

Aug 27, 2023 am 10:05 AM
ungkapan biasa python

Ungkapan biasa dalam Python

Pernahkah anda terfikir apakah kunci untuk mencari teks tertentu dalam dokumen atau memastikan teks itu sesuai format tertentu (seperti alamat e-mel) dan operasi lain yang serupa?

Kunci kepada jenis operasi ini ialah ungkapan biasa (regex). Mari kita lihat beberapa definisi ungkapan biasa. Dalam Wikipedia, ungkapan biasa ditakrifkan seperti berikut:

Jujukan aksara yang mentakrifkan corak carian, terutamanya digunakan untuk padanan corak atau padanan rentetan dengan rentetan, iaitu, operasi seperti "cari dan ganti". Konsep ini muncul pada tahun 1950-an, apabila ahli matematik Amerika Stephen Kleene memformalkan perihalan bahasa biasa dan menjadi biasa digunakan dengan utiliti pemprosesan teks Unix ed (editor) dan grep (penapis).

Satu lagi takrifan

regular-expressions.info ialah:

Ungkapan biasa (pendek kata regex atau regexp) ialah rentetan teks khas yang digunakan untuk menerangkan corak carian. Anda boleh menganggap ungkapan biasa sebagai kad bebas pada steroid. Anda mungkin biasa dengan tatatanda kad bebas, seperti *.txt, untuk mencari semua fail teks dalam pengurus fail anda. Setara regex ialah .*.txt$

Saya tahu konsep ungkapan biasa mungkin masih kedengaran agak kabur. Jadi, mari kita lihat beberapa contoh ungkapan biasa untuk memahami konsep ini dengan lebih baik.

Contoh Ungkapan Biasa

Dalam bahagian ini, saya akan menunjukkan kepada anda beberapa contoh ungkapan biasa untuk membantu anda memahami konsep ini dengan lebih lanjut.

Andaikan anda mempunyai ungkapan biasa ini:

/abder/
Salin selepas log masuk

Ini hanya memberitahu kami untuk memadankan hanya perkataan abder. abder

这个正则表达式怎么样?

/a[nr]t/
Salin selepas log masuk

您可以按如下方式阅读此正则表达式:找到一个文本模式,第一个字母是 a,最后一个字母是 t,这些字母之间是 n 或 r。所以匹配的词是 antart

现在让我给你一个小测验。如何编写以 ca 开头,并以以下一个或全部字符 tbr 结尾的正则表达式?是的,这个正则表达式可以写成如下:

/ca[tbr]/
Salin selepas log masuk

如果您看到以抑扬音符号 ^ 开头的正则表达式,则表示匹配以 ^ 之后提到的字符串开头的字符串。因此,如果您有下面的正则表达式,它会匹配以 This 开头的字符串。

/^This/
Salin selepas log masuk

因此,在以下字符串中:

My name is Abder
This is Abder
This is Tom
Salin selepas log masuk

基于正则表达式 /^This/,将匹配以下字符串:

This is Abder
This is Tom
Salin selepas log masuk

如果我们想要匹配以某个字符串结尾的字符串怎么办?在本例中,我们使用美元符号 $。这是一个例子:

Abder$
Salin selepas log masuk

因此,在上面的字符串(三行)中,将使用此正则表达式来匹配以下模式:

My name is Abder
This is Abder
Salin selepas log masuk

那么,您对这个正则表达式有何看法?

^[A-Z][a-z]
Salin selepas log masuk

我知道乍一看可能看起来很复杂,但让我们一点一点地看一下。

我们已经了解了什么是抑扬音 ^ 。这意味着匹配以某个字符串开头的字符串。 [A-Z] 指的是大写字母。因此,如果我们阅读正则表达式的这一部分: ^[A-Z],它告诉我们匹配以大写字母开头的字符串。最后一部分 [a-z] 表示找到以大写字母开头的字符串后,后面会跟着字母表中的小写字母。

那么,使用此正则表达式将匹配以下哪些字符串?如果您不确定,您可以使用 Python(我们将在下一节中看到)来测试您的答案。

abder
Abder
ABDER
ABder
Salin selepas log masuk

正则表达式是一个非常广泛的主题,这些示例只是为了让您了解它们是什么以及我们为什么使用它们。

RexEgg 是了解更多有关正则表达式并查看更多示例的一个很好的参考。

Python 中的正则表达式

现在让我们来看看有趣的部分。我们希望了解如何在 Python 中使用上述一些正则表达式。我们将用来在 Python 中处理正则表达式的模块是 re 模块。

第一个示例是关于查找单词 abder。在 Python 中,我们将按如下方式执行此操作:

import re
text = 'My name is Abder'
match_pattern = re.match(r'Abder', text)
print match_pattern
Salin selepas log masuk

如果运行上面的Python脚本,您将得到输出:None!

该脚本工作得很好,但问题在于函数 match() 的工作方式。如果我们返回 re 模块文档,这就是函数 match()

Bagaimana dengan ungkapan biasa ini? 🎜
import re
text = 'This is a black ant'
match_pattern = re.search(r'a[nr]t', text)
print match_pattern.group(0)
Salin selepas log masuk
Salin selepas log masuk
🎜Anda boleh membaca regex ini seperti berikut: Cari corak teks dengan huruf pertama ialah a dan huruf terakhir ialah t< /code>, antara huruf ini ialah <code class="inline">n atau r. Jadi perkataan yang sepadan ialah ant dan art. 🎜 🎜Sekarang biar saya berikan sedikit kuiz. Bagaimana untuk menulis ungkapan biasa yang bermula dengan ca dan berakhir dengan satu atau semua aksara berikut tbr? Ya, ungkapan biasa ini boleh ditulis seperti berikut: 🎜 rrreee 🎜Jika anda melihat ungkapan biasa bermula dengan simbol circumflex ^, ia bermakna sepadan dengan aksara yang disebut selepas ^ Rentetan di permulaan rentetan. Jadi jika anda mempunyai ungkapan biasa berikut, ia akan sepadan dengan rentetan bermula dengan This. 🎜 rrreee 🎜Oleh itu, dalam rentetan berikut: 🎜 rrreee 🎜Berdasarkan ungkapan biasa /^This/, rentetan berikut akan dipadankan: 🎜 rrreee 🎜Bagaimana jika kita ingin memadankan rentetan yang berakhir 🎜 dengan rentetan tertentu 🎜? Dalam contoh ini, kami menggunakan tanda dolar $. Berikut adalah contoh: 🎜 rrreee 🎜Jadi, dalam rentetan di atas (tiga baris), ungkapan biasa ini akan digunakan untuk memadankan corak berikut: 🎜 rrreee 🎜Jadi, apa pendapat anda tentang ungkapan biasa ini? 🎜 rrreee 🎜Saya tahu ia mungkin kelihatan rumit pada pandangan pertama, tetapi mari kita lihat sedikit demi sedikit. 🎜 🎜Kami telah mempelajari apa itu iambik ^ . Ini bermakna memadankan rentetan yang bermula dengan rentetan tertentu. [A-Z] merujuk kepada huruf besar. Jadi jika kita membaca bahagian regex ini: ^[A-Z], ia memberitahu kita untuk memadankan rentetan yang bermula dengan huruf besar. Bahagian terakhir [a-z] bermaksud apabila rentetan ditemui yang bermula dengan huruf besar, ia akan diikuti dengan huruf kecil abjad. 🎜 🎜Jadi, yang manakah antara rentetan berikut akan dipadankan menggunakan ungkapan biasa ini? Jika anda tidak pasti, anda boleh menggunakan Python (seperti yang akan kita lihat dalam bahagian seterusnya) untuk menguji jawapan anda. 🎜 rrreee 🎜Ungkapan biasa adalah topik yang sangat luas, contoh ini hanya untuk memberi anda gambaran tentang apa itu dan mengapa kami menggunakannya. 🎜 🎜RexEgg ialah rujukan yang bagus untuk mengetahui lebih lanjut tentang ungkapan biasa dan melihat lebih banyak contoh. 🎜 🎜Ungkapan Biasa dalam Python🎜 🎜Sekarang mari kita ke bahagian yang menyeronokkan. Kami ingin melihat cara menggunakan beberapa ungkapan biasa di atas dalam Python. Modul yang akan kami gunakan untuk mengendalikan ungkapan biasa dalam Python ialah modul re. 🎜 🎜Contoh pertama ialah tentang mencari perkataan abder. Dalam Python kita akan melakukan ini seperti berikut: 🎜 rrreee 🎜Jika anda menjalankan skrip Python di atas, anda akan mendapat output: None!🎜 🎜Skrip berfungsi dengan baik, tetapi masalahnya ialah cara fungsi match() berfungsi. Jika kita mengembalikan dokumen modul re, ini adalah fungsi match(): 🎜
如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的匹配对象。如果字符串与模式不匹配,则返回 None;请注意,这与零长度匹配不同。

啊哈,从这里我们可以看出,match() 仅当在字符串的开头找到匹配项时才会返回结果。

我们可以使用函数 search(),这是基于文档的:

扫描字符串,查找正则表达式模式产生匹配的第一个位置,并返回相应的匹配对象。如果字符串中没有位置与模式匹配,则返回 None;请注意,这与在字符串中的某个点查找零长度匹配不同。

因此,如果我们编写上面的脚本,但使用 search() 而不是 match(),我们会得到以下输出:

<_sre.SRE_Match 0x101cfc988 处的对象>

即返回了一个匹配对象

如果我们想返回结果(字符串匹配),我们使用 group() 函数。如果我们想查看整个比赛,我们使用 group(0)。因此:

打印 match_pattern.group(0)

将返回输出:Abder

如果我们采用上一节中的第二个正则表达式,即 /a[nr]t/,则可以用 Python 编写如下:

import re
text = 'This is a black ant'
match_pattern = re.search(r'a[nr]t', text)
print match_pattern.group(0)
Salin selepas log masuk
Salin selepas log masuk

此脚本的输出是:ant

结论

文章越来越长,Python 中的正则表达式主题即使不是一本书,也肯定需要不止一篇文章。

然而,本文旨在让您快速入门并有信心进入 Python 正则表达式的世界。您可以参考 re 文档来了解有关此模块的更多信息以及如何深入了解该主题。

Atas ialah kandungan terperinci Ungkapan biasa dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan ungkapan biasa Python untuk pemprosesan fail Word Cara menggunakan ungkapan biasa Python untuk pemprosesan fail Word Jun 22, 2023 am 09:57 AM

Ekspresi biasa Python ialah alat padanan yang berkuasa yang boleh membantu kami mengenal pasti dan menggantikan teks, gaya dan format dengan cepat dalam pemprosesan fail Word. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk pemprosesan fail Word. 1. Pasang perpustakaan Python-docx Python-docx ialah perpustakaan berfungsi untuk memproses dokumen Word dalam Python Anda boleh menggunakannya untuk membaca, mengubah suai, mencipta dan menyimpan dokumen Word dengan cepat. Sebelum menggunakan Python-docx, anda perlu memastikan

Cara menggunakan ungkapan biasa Python untuk memproses nombor dan jumlah Cara menggunakan ungkapan biasa Python untuk memproses nombor dan jumlah Jun 23, 2023 am 08:21 AM

Ungkapan biasa Python ialah alat berkuasa yang membantu kami melakukan pemadanan dan carian yang tepat dan cekap dalam data teks. Ungkapan biasa juga amat berguna dalam pemprosesan nombor dan jumlah, dan boleh mencari dan mengekstrak maklumat nombor dan jumlah dengan tepat. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk memproses nombor dan jumlah, membantu pembaca menangani tugas pemprosesan data sebenar dengan lebih baik. 1. Nombor proses 1. Padankan integer dan nombor titik terapung Dalam ungkapan biasa, untuk memadankan integer dan nombor titik terapung, anda boleh menggunakan d+ untuk padanan.

Cara menggunakan ungkapan biasa Python untuk pembahagian perkataan Cara menggunakan ungkapan biasa Python untuk pembahagian perkataan Jun 23, 2023 am 10:37 AM

Ungkapan biasa Python ialah alat yang berkuasa untuk memproses data teks. Dalam pemprosesan bahasa semula jadi, pembahagian perkataan adalah tugas penting, yang memisahkan teks kepada perkataan individu. Dalam Python, kita boleh menggunakan ungkapan biasa untuk menyelesaikan tugas pembahagian perkataan. Berikut akan menggunakan Python3 sebagai contoh untuk memperkenalkan cara menggunakan ungkapan biasa untuk pembahagian perkataan. Import modul semula Modul semula ialah modul ekspresi biasa terbina dalam Python Anda perlu mengimport modul terlebih dahulu. teks definisi import

Cara menggunakan ungkapan biasa Python untuk orkestrasi kontena Cara menggunakan ungkapan biasa Python untuk orkestrasi kontena Jun 22, 2023 am 09:16 AM

Dalam orkestrasi kontena, kita selalunya perlu menapis, memadankan dan menggantikan beberapa maklumat. Python menyediakan ungkapan biasa, alat berkuasa yang boleh membantu kami menyelesaikan operasi ini. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk orkestrasi kontena, termasuk pengetahuan asas ungkapan biasa, cara menggunakan modul Pythonre dan beberapa aplikasi ungkapan biasa biasa. 1. Pengetahuan asas tentang ungkapan biasa Ungkapan biasa (RegularExpression) merujuk kepada corak teks, digunakan

Cara menggunakan ungkapan biasa Python untuk pengekstrakan kandungan Cara menggunakan ungkapan biasa Python untuk pengekstrakan kandungan Jun 22, 2023 pm 03:04 PM

Python ialah bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas dengan set 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 sintaks asas ungkapan biasa.

Cara menggunakan ungkapan biasa Python untuk struktur data dan algoritma Cara menggunakan ungkapan biasa Python untuk struktur data dan algoritma Jun 22, 2023 pm 08:01 PM

Ekspresi biasa Python ialah alat pemprosesan rentetan berdasarkan padanan corak, yang boleh membantu kami mengekstrak maklumat yang diperlukan daripada teks dengan cepat dan cekap. Dalam struktur data dan algoritma, ungkapan biasa boleh digunakan untuk melaksanakan pemadanan teks, penggantian, pembahagian dan fungsi lain, memberikan sokongan yang lebih berkuasa untuk pengaturcaraan kami. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk struktur data dan algoritma. 1. Pengetahuan asas ungkapan biasa Sebelum bermula, mari kita fahami beberapa pengetahuan asas ungkapan biasa: Set aksara: diwakili oleh kurungan segi empat sama,

Cara menggunakan ungkapan biasa Python untuk estetika kod dan pengalaman pengguna Cara menggunakan ungkapan biasa Python untuk estetika kod dan pengalaman pengguna Jun 22, 2023 am 08:45 AM

Dalam pembangunan perisian, estetika kod dan pengalaman pengguna sering diabaikan, yang membawa kepada banyak masalah perisian dalam penggunaan sebenar. Python, sebagai bahasa pengaturcaraan yang berkuasa, menyediakan ungkapan biasa sebagai alat yang berkuasa untuk membantu kami menyelesaikan masalah ini. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk estetika kod dan pengalaman pengguna. 1. Pengenalan kepada ungkapan biasa Python Ungkapan biasa ialah bahasa yang menerangkan corak teks dan boleh digunakan untuk memadankan, mencari, menggantikan dan memisahkan teks. Modul semula Python menyediakan

Cara menggunakan ungkapan biasa Python untuk pengaturcaraan reflektif Cara menggunakan ungkapan biasa Python untuk pengaturcaraan reflektif Jun 22, 2023 pm 02:00 PM

Ekspresi biasa (RegularExpression) ialah alat pemadanan rentetan yang berkuasa Modul semula dalam Python menyediakan sokongan untuk ungkapan biasa. Ungkapan biasa boleh digunakan bukan sahaja untuk pemadanan rentetan, tetapi juga untuk pengaturcaraan reflektif, iaitu memanggil fungsi dan sifat secara dinamik. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk pengaturcaraan reflektif. Konsep pantulan Dalam Python, pantulan merujuk kepada memperoleh maklumat objek secara dinamik dan memanggil sifat dan kaedah objek apabila atur cara berjalan. Refleksi boleh berlalu

See all articles