能否给我正则表达式主要内容的代码案例
时间: 2023-10-17 15:10:28 浏览: 59
当然,以下是正则表达式主要内容的代码案例:
- 字符组 [] 和 横杠 -
import re
pattern = r"[abc]" # 匹配 a 或 b 或 c
result = re.findall(pattern, "abcdefg")
print(result)
pattern = r"[a-zA-Z0-9_]" # 匹配字母、数字或下划线
result = re.findall(pattern, "Hello, 123!")
print(result)
pattern = r"[a-z]" # 匹配小写字母
result = re.findall(pattern, "Hello, world!")
print(result)
pattern = r"[0-9]" # 匹配数字
result = re.findall(pattern, "Hello, 123!")
print(result)
pattern = r"[a-z0-9]" # 匹配小写字母或数字
result = re.findall(pattern, "Hello, 123!")
print(result)
- 元字符 . 和 ^ 和 $
import re
pattern = r"." # 匹配任意字符
result = re.findall(pattern, "Hello, world!")
print(result)
pattern = r"^Hello" # 匹配以 Hello 开头的字符串
result = re.findall(pattern, "Hello, world!")
print(result)
pattern = r"world!$" # 匹配以 world! 结尾的字符串
result = re.findall(pattern, "Hello, world!")
print(result)
- 量词 ? 和 * 和 +
import re
pattern = r"a?" # 匹配 0 或 1 个 a
result = re.findall(pattern, "abcde")
print(result)
pattern = r"a*" # 匹配 0 或 多个 a
result = re.findall(pattern, "abcde")
print(result)
pattern = r"a+" # 匹配 1 或 多个 a
result = re.findall(pattern, "abcde")
print(result)
- 贪婪模式和非贪婪模式
import re
pattern = r"a.*b" # 贪婪模式,匹配最长的字符串
result = re.findall(pattern, "aabcbdb")
print(result)
pattern = r"a.*?b" # 非贪婪模式,匹配最短的字符串
result = re.findall(pattern, "aabcbdb")
print(result)
- 分组 () 和 |
import re
pattern = r"(a|b|c)" # 匹配 a 或 b 或 c
result = re.findall(pattern, "abcde")
print(result)
pattern = r"(ab)+" # 匹配一个或多个 ab
result = re.findall(pattern, "ababab")
print(result)
pattern = r"(\d{3})-(\d{3}-\d{4})" # 匹配电话号码,分组
result = re.findall(pattern, "Tel: 123-456-7890")
print(result[0][0]) # 输出区号
print(result[0][1]) # 输出电话号码
- 转义字符 \
import re
pattern = r"\d\." # 匹配数字和点号
result = re.findall(pattern, "1. Hello, world!")
print(result)
pattern = r"\[\w+\]" # 匹配方括号中的单词
result = re.findall(pattern, "[Hello], [world]!")
print(result)
阅读全文
相关推荐















