iT邦幫忙

2024 iThome 鐵人賽

DAY 23
0
自我挑戰組

python30天入門學習系列 第 23

第23天:正則表達式 part 1

  • 分享至 

  • xImage
  •  

正則表達式(Regular Expression,簡稱正則或 regex)是用來匹配字符串的強大工具,在處理文本時非常實用。Python 提供了內置的 re 模塊來支持正則表達式,讓用戶可以方便地在字符串中搜索、匹配、替換等。

壹、基本用法

在 Python 中使用正則表達式,需要先導入 re 模塊,然後通過正則表達式進行操作。常用的方法有:

  • re.search():在字符串中查找匹配的子字符串,返回第一個匹配對象。
  • re.match():從字符串的開始處匹配正則表達式,如果匹配成功,返回匹配對象。
  • re.findall():查找所有匹配的子字符串,返回一個列表。
  • re.sub():替換匹配的字符串。

一、匹配簡單的字符串

import re

# 使用 re.search() 在字符串中查找 "world"
result = re.search("world", "Hello, world!")
if result:
    print(f"找到: {result.group()}")

輸出:

找到: world

二、使用 re.match()

re.match() 只會在字符串的開頭進行匹配,這與 re.search() 的行為不同。

import re

# 匹配開頭的字符串 "Hello"
result = re.match("Hello", "Hello, world!")
if result:
    print(f"匹配成功: {result.group()}")

輸出:

匹配成功: Hello

貳、正則表達式中的特殊字符

正則表達式包含一些特殊字符,能夠對字符串進行靈活的匹配操作:

  • .:匹配任意單個字符(除換行符外)。
  • ^:匹配字符串的開頭。
  • $:匹配字符串的結尾。
  • *:匹配前一個字符 0 次或多次。
  • +:匹配前一個字符 1 次或多次。
  • ?:匹配前一個字符 0 次或 1 次。
  • []:匹配字符集合中的任意一個。
  • |:或操作,匹配左邊或右邊的表達式。
  • ():用來分組,捕獲子表達式的匹配。

一、匹配任意字符

import re

# 使用 . 匹配任意單個字符
result = re.search("H.llo", "Hello, world!")
print(result.group())

輸出:

Hello

二、使用字符集

import re

# 使用字符集 [abc] 匹配其中任意一個字符
result = re.search("[aeiou]", "Python")
print(f"找到的元音字母: {result.group()}")

輸出:

找到的元音字母: o

上一篇
第22天:生成器
下一篇
第24天:正則表達式 part 2
系列文
python30天入門學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言