1、简介
一般在匹配连续相同的字符串中使用
2、实例
import re
string = "0abcdabcdabcdabcd2abcd3abc2ab" # 此时 想匹配 abcdabcdabcdabcd 者4 个连续的 abcd
match = re.findall("abcd",string)
print(match)
# ['abcd', 'abcd', 'abcd', 'abcd', 'abcd'] 不满足
match = re.findall("[abcd]",string) # 此时 想匹配 abcdabcdabcdabcd 者4 个连续的 abcd
print(match)
# 不满足 ['a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'a', 'b']
match = re.search("(abcd){4}",string).group() # 此时 需要用到 search
print(match)
# abcdabcdabcdabcd
对于整句话 的一个 匹配
import re
string = "Flowers fall deliberately , water ruthlessly"
# 比如我们想 把 fall deliberately , water 匹配出来 ,
finaall = re.search("Flowers(.*)ruthlessly",string)
print(finaall)
#<re.Match object; span=(0, 44), match='Flowers fall deliberately , water ruthlessly'>
print(finaall.group(1))
# fall deliberately , water
# 比如我们想 把 fall 和 water 匹配出来
finaall = re.search("Flowers (.*) deliberately , (.*)ruthlessly",string)
print(finaall)
#<re.Match object; span=(0, 44), match='Flowers fall deliberately , water ruthlessly'>
print(finaall.group(1))
#fall
print(finaall.group(2))
#water
# " ." 会把除了 \n 以外的所有字符匹配出来
string = "a3!@#$%^&*()[/., \t \n "
list = re.findall(".",string)
print(list)
#['a', '3', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '[', '/', '.', ',', ' ', '\t', ' ', ' ', ' ', ' ']
# " ." 会把除了 \n 以外的所有字符匹配出来
string = "a3!@#$%^&*()[/., \t \n "
list = re.findall(".",string,re.S) # 要想匹配出来 ,添加 参数 re.S
print(list)
#['a', '3', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '[', '/', '.', ',', ' ', '\t', ' ', '\n', ' ', ' ', ' ']