import re
'''
1.匹配某个字符串
match():只能匹配某个
'''
# text = 'python python'
# result = re.match('py', text)
# print(result)
# print(result.group())

'''
2.点
匹配任意的某个字符【无法匹配换行符】【必须从开头开始匹配】
'''
# text = 'python'
# result = re.match('.', text)
# print(result)
# print(result.group())

'''
3.\d
匹配任意的数字【除了数字外均无法匹配】
'''
# text = '1python'
# result = re.match('\d', text)
# print(result)
# print(result.group())

'''
4.\D
除了数字外均可匹配【数字均无法匹配】
'''
# text = 'python'
# result = re.match('\D', text)
# print(result)
# print(result.group())

'''
5.\s
匹配空白字符【\n、 \t、 \r 、空格】
'''
# text = '\npython'
# result = re.match('\s', text)
# print(result)
# print(result.group())

'''
6.\w
匹配小写的a-z，大写的A-Z，数字和下划线
'''
# text = 'python'
# result = re.match('\w', text)
# print(result)
# print(result.group())

'''
7.\W
匹配除小写\w之外的所有字符
'''
# text = '\npython'
# result = re.match('\W', text)
# print(result)
# print(result.group())

'''
8.[] ->> 组合的方式
只要在中括号内的内容均可匹配
'''
# text = '\npython'
# result = re.match('[\n_]', text)
# print(result)
# print(result.group())

'''
9.星号 *
匹配零个或者多个字符
'''
# text = '139-1234-5678'
# result = re.match('[-\d]*', text)
# print(result)
# print(result.group())

'''
10.加号 +
匹配1个或者多个字符
'''
# text = '139-1234-5678'
# result = re.match('[-\d]+', text)
# print(result)
# print(result.group())

'''
11.问号 ？
匹配0个或者匹配1个
'''
# text = '139-1234-5678'
# result = re.match('[-\d]?', text)
# print(result)
# print(result.group())

'''
12. {m,n} 匹配m到n个
匹配0个或者匹配1个
'''
# text = '139-1234-5678'
# result = re.match('[-\d]{1,5}', text)
# print(result)
# print(result.group())

'''
13. 匹配所有的数字
'''
# text = '139-1234-5678'
# result = re.match('[-0-9]*', text)
# print(result)
# print(result.group())

'''
14. 匹配所有的非数字
'''
# text = '139-1234-5678'
# result = re.match('[^0-9]*', text)
# print(result)
# print(result.group())

# re.match() 必须从字符串开头进行匹配
# re.search() 从左到右进行字符串的遍历，找到就返回
# text = 'aapython'
# result = re.match('py', text)
# print(result)
# print(result.group())

# text = 'aapython'
# result = re.search('py', text)
# print(result)
# print(result.group())

"""
1. 贪婪模式： 正则表达式会尽可能多地匹配字符【默认就是贪婪模式】
2. 非贪婪模式： 正则表达式会尽可能少地匹配字符【?】

转义字符 \
"""


