Python ialah bahasa pengaturcaraan berkuasa yang menyokong ungkapan biasa untuk manipulasi teks. Memandangkan analisis data dan pemprosesan teks menjadi semakin biasa dalam semua lapisan masyarakat, menguasai kemahiran ungkapan biasa telah menjadi kemahiran asas yang semakin penting. Dalam artikel ini, kita akan belajar cara menggunakan ungkapan biasa dalam Python.
Menggunakan ungkapan biasa dalam Python memerlukan pengimportan modul semula. Sudah tentu, sebelum menggunakan ungkapan biasa, kita perlu membiasakan diri dengan peraturan sintaks ungkapan biasa. Berikut ialah beberapa simbol ungkapan biasa asas dan maknanya:
符号 | 含义 |
---|---|
. | 匹配任意字符,除了换行符 |
d | 匹配数字 |
D | 匹配非数字 |
w | 匹配字母、数字、下划线或汉字 |
W | 匹配除字母、数字、下划线或汉字以外的其他字符 |
s | 匹配任意空白字符,包括空格、制表符、换行符等 |
S | 匹配任意非空白字符 |
^ | 匹配字符串的开头 |
$ | 匹配字符串的结尾 |
* | 匹配 0 次或多次 |
+ | 匹配 1 次或多次 |
? | 匹配 0 次或 1 次 |
{n} | 匹配恰好 n 次 |
{n,} | 匹配n次或更多次 |
{m,n} | 匹配m~n次 |
[...] | 匹配方括号中的任意字符,包括字符范围、排除字符等 |
(…) | 捕获匹配的子字符串 |
(?:…) | 不捕获匹配的子字符串 |
(?=...) | 正向肯定预查 |
(?!...) | 正向否定预查 |
(?<=...) | 反向肯定预查 |
(? | 反向否定预查 |
import re # 声明一个字符串 str1 = "hello world" # 定义正则表达式 pattern = "hello world" # 使用 re 模块进行匹配 result = re.search(pattern, str1) print(result.group())
Hasil keluaran:
hello world
Apabila kita perlu mencari beberapa aksara khas, kita perlu menambah aksara melarikan diri () dalam ungkapan biasa. Contohnya:
# 定义正则表达式 pattern = r"w+($" # 使用 re 模块进行匹配 result = re.search(pattern, "I have a list (item1, item2).") print(result.group())
Hasil keluaran:
list(
# 定义正则表达式 pattern = r"https?://S+.w+(?<!/)$" # 使用 re 模块进行匹配 result = re.search(pattern, "Here is a link: https://www.google.com.") print(result.group())
Hasil keluaran:
https://www.google.com
# 定义正则表达式 pattern = r"w+@w+.w{2,3}" # 使用 re 模块进行匹配 result = re.findall(pattern, "Please contact me at alice@gmail.com or bob@hotmail.com") print(result)
Hasil keluaran:
['alice@gmail.com', 'bob@hotmail.com']
# 定义正则表达式 pattern = r"d" # 使用 re 模块进行匹配和替换 result = re.sub(pattern, "*", "12345678") print(result)
Hasil keluaran:
********
Atas ialah kandungan terperinci Bagaimana untuk menggunakan ungkapan biasa dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!