正则表达式中的大括号-花括号{}有什么用?

在正则表达式中,花括号 {} 是用于指定匹配次数的量词元字符。它可以用来表示匹配的次数范围或精确匹配次数。

具体来说,花括号 {m} 表示前面的模式匹配恰好出现 m 次,而 {m, n} 表示前面的模式匹配出现 mn 次。

以下是一些常见的用法示例:

  • a{3}:匹配连续三个 “a” 字符。
  • b{2,4}:匹配连续两个到四个 “b” 字符。
  • [0-9]{3}:匹配连续三个数字字符。
  • [a-zA-Z]{2,}:匹配连续至少两个字母(大小写不限)。

还可以使用其他特殊符号与花括号结合,形成更复杂的匹配规则:

  • a{3,}:匹配连续至少三个 “a” 字符。
  • .{2,5}:匹配连续两个到五个任意字符(除换行符外)。

需要注意的是,花括号中的数值可以是非负整数,也可以是空。如果不指定具体的范围,如 {n}{n,},则表示精确匹配次数为 n 次或至少 n 次。

示例:

import re

# 匹配连续三个 "a"
pattern1 = r'a{3}'
regex1 = re.compile(pattern1)
print(regex1.findall("aaabc"))  # ['aaa']

# 匹配连续两个到四个 "b"
pattern2 = r'b{2,4}'
regex2 = re.compile(pattern2)
print(regex2.findall("bbbbc"))  # ['bbb']

# 匹配连续三个数字字符
pattern3 = r'[0-9]{3}'
regex3 = re.compile(pattern3)
print(regex3.findall("12345"))  # ['123']

# 匹配连续至少两个字母(大小写不限)
pattern4 = r'[a-zA-Z]{2,}'
regex4 = re.compile(pattern4)
print(regex4.findall("Hello123"))  # ['Hello']

以上示例中,我们使用了不同的花括号表达式来匹配不同的模式。花括号 {} 让我们可以指定更灵活的匹配次数,从而满足不同的匹配需求。

猜你喜欢

转载自blog.csdn.net/wenhao_ir/article/details/132028331
今日推荐