1.匹配多个字符
今天我们来聊一聊正则表达式中一个很强大的功能:匹配多个字符!正则表达式是一个非常强大的工具,可以帮助我们轻松地处理和匹配字符串。通过使用不同的符号和技巧,我们可以匹配多个字符,从而更加灵活地处理字符串。在正则表达式中,`.`是一个特殊的字符,它可以匹配除了换行符之外的任何单个字符。但是,如果我们想匹配多个字符,就需要用到其他的方法。
-
?:表示匹配前面的字符出现0次或1次
-
+:表示匹配前面的字符出现1次或多次
-
*:表示匹配前面的字符出现0次或多次
-
{}:表示匹配前面的字符出现指定的次数或这出现在指定范围的次数
-
{4}:表示{}前面的字符只能出现4次
-
{4,7}:表示{}前面的字符只能出现4次至7次
-
{4,}:表示前面的字符至少可以出现4次
-
{,7}:表示前面的字符最多可以出现7次
2.实例
# 导入re模块
import re
print(re.search("face?book", "facebook")) # <re.Match object; span=(0, 8), match='facebook'> 出现1次的情况
print(re.search("face?book", "facbook")) # <re.Match object; span=(0, 7), match='facbook'> 出现0次的情况
print(re.search("face?book", "faceeeeeeebook")) # None 出现多次的情况
print(re.search("face+book", "facebook")) # <re.Match object; span=(0, 8), match='facebook'> 出现1次的情况
print(re.search("face+book", "faceeeeeeebook")) # <re.Match object; span=(0, 14), match='faceeeeeeebook'> 出现多次的情况
print(re.search("face*book", "facbook")) # <re.Match object; span=(0, 7), match='facbook'> 出现0次的情况
print(re.search("face*book", "faceeeeeeebook")) # <re.Match object; span=(0, 14), match='faceeeeeeebook'> 出现多次的情况
print(re.search("face{4}book", "faceeeebook")) # <re.Match object; span=(0, 11), match='faceeeebook'> 出现4次的情况
print(re.search("face{4}book", "faceeebook")) # None
print(re.search("face{4,}book", "faceeeeeeebook")) # <re.Match object; span=(0, 14), match='faceeeeeeebook'> 出现至少4次的情况
print(re.search("face{4,8}book", "faceeeeeeebook")) # <re.Match object; span=(0, 14), match='faceeeeeeebook'> 出现4次至8次的情况
print(re.search("face{4,8}book", "faceeeeeeeeeebook")) # None
print(re.search("face{4,8}book", "faceebook")) # None
print(re.search("face{,8}book", "faceebook")) # <re.Match object; span=(0, 9), match='faceebook'>
print(re.search("face{,8}book", "faceeeeeeeeeebook")) # None