捕获可选组是指在正则表达式中使用括号来分组,并通过在括号前添加问号来使该组变为可选的。以下是一个包含代码示例的解决方法:
import re
pattern = r'(\d{3}-)?\d{3}-\d{4}'
text1 = '123-456-7890' text2 = '456-7890'
match1 = re.match(pattern, text1) match2 = re.match(pattern, text2)
if match1: print(f"匹配成功:{match1.group(0)}") else: print("匹配失败")
if match2: print(f"匹配成功:{match2.group(0)}") else: print("匹配失败")
在上述代码中,我们定义了一个包含可选组的正则表达式,其中可选组被括号包围,并在括号前添加了问号。然后我们使用re.match()函数来尝试从文本中匹配该正则表达式。如果匹配成功,我们将输出匹配的结果,否则输出匹配失败。在这个例子中,第一个文本符合正则表达式,包含可选组中的第一个部分,所以匹配成功;而第二个文本不符合可选组中的第一个部分,所以匹配失败。
上一篇:捕获可选命名组的正则表达式
下一篇:捕获科学计数法并转换为字符串