正则表达式是用于匹配字符串模式的强大工具。在 Python 中,re 模块提供了正则表达式的功能。以下是一些基本的正则表达式操作:

1. 导入 re 模块
import re

2. 基本匹配

使用 re.match() 或 re.search() 进行基本的匹配。
pattern = r"Python"
text = "I love Python programming."

match_result = re.match(pattern, text)
search_result = re.search(pattern, text)

print("Match Result:", match_result)
print("Search Result:", search_result.group())

3. 字符类

使用字符类 [] 匹配字符。
pattern = r"[aeiou]"
text = "Hello, World!"

result = re.findall(pattern, text)
print("Vowels:", result)

4. 元字符

使用元字符进行更复杂的匹配。
pattern = r"\d{3}-\d{2}-\d{4}"  # 匹配美国社会安全号码
text = "My SSN is 123-45-6789."

result = re.search(pattern, text)
print("SSN:", result.group())

5. 贪婪和非贪婪匹配

默认情况下,正则表达式是贪婪的,它会尽可能多地匹配字符。可以使用 ? 实现非贪婪匹配。
pattern = r"<.*?>"  # 贪婪匹配
text = "

Hello

 

World

"

result_greedy = re.search(pattern, text)

pattern_non_greedy = r"<.*?>"  # 非贪婪匹配
result_non_greedy = re.search(pattern_non_greedy, text)

print("Greedy Match:", result_greedy.group())
print("Non-Greedy Match:", result_non_greedy.group())

6. 替换和分割

使用 re.sub() 进行替换,使用 re.split() 进行分割。
pattern = r"\s+"
text = "Python   is    fun."

# 替换空白字符为单个空格
result_sub = re.sub(pattern, " ", text)

# 使用空白字符分割文本
result_split = re.split(pattern, text)

print("Substitution Result:", result_sub)
print("Split Result:", result_split)

这些是正则表达式的基础用法。正则表达式非常强大,可以实现复杂的字符串匹配和处理。深入了解正则表达式的语法和技巧,可以让你在处理文本时更加灵活和高效。


转载请注明出处:http://www.zyzy.cn/article/detail/231/Python3