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