正则表达式主要用于查找匹配字符串中的内容,它由元字符符号构成,python用正则需要导入re模块
#正则 python中需导入re模块
import re
#查找所有
# st0 = '李平真帅,李平真溜,李平真聪明'
# st1 = re.findall('真', st0)
# print(st1)
#从起始位置匹配
# st0 = '李平真帅,李平真溜,李平真聪明'
# st1 = re.match('李平', st0)
# print(st1)
#从字符串找到一个数据
# st0 = '李平真帅,李平真溜,李平真聪明'
# st1 = re.search('李平', st0)
# print(st1)
#替换
# st0 = '李平真帅,李平真溜,李平真聪明'
# st1 = re.sub('李平', '小姐姐', st0)
# print(st1)
#元字符
# st0 = '吼78吼吼9,嘿嘿嘿,1巅峰abc2 def ghi3 jk4l mn56'
#.任意一个字符
# st1 = re.findall('a.', st0)
# print(st1)
#[] 列举[]中字符
# st1 = re.findall(r'[0-9a-z]', st0)
# print(st1)
#\d 数字
# st1 = re.findall(r'\d', st0)
# print(st1)
#\D非数字
# st1 = re.findall(r'\D', st0)
# print(st1)
#\s 空格
# st1 = re.findall(r'\s', st0)
# print(st1)
#\S 非空格
# st1 = re.findall(r'\S', st0)
# print(st1)
#\w 单词字符 基本所有字符a-z A-Z 0-9 _
# st1 = re.findall(r'\w', st0)
# print(st1)
#\W非单词字符
# st1 = re.findall(r'\W', st0)
# print(st1)
# st0 = 'abccccddddd'
# * 前面出现0次或无限次
# st1 = re.findall(r'ab*c', st0)
# print(st1)
# + 前面出现1次或无限次,至少出现一次
# st1 = re.findall(r'ab+c+', st0)
# print(st1)
# ? 出现0次或1次
# st1 = re.findall(r'ab?c', st0)
# print(st1)
# {} 中限制出现次数 {m,n}m次到n次 {m,}m次到无限 {,n}无限到n次
# st1 = re.findall(r'ab{1,7}c', st0)
# print(st1)
# st0 = 'sbs bbc abc cctv mtv'
# ^ 以什么开头
# st1 = re.findall(r'^sbs', st0)
# print(st1)
# $ 以什么结尾
# st1 = re.findall(r'mtv$', st0)
# print(st1)
# \b 匹配一个单词边界
# st1 = re.findall(r'\bbbc\b', st0)
# print(st1)
#\B 匹配非单词边界
# st1 = re.findall(r'\Bbs', st0)
# print(st1)
# st0 = 'hello world liping gogogo'
# | 分组
# st1 = re.findall(r'llo|liping', st0)
# print(st1)
# () 中到作为一个分组
# st1 = re.findall(r'wor(ld)', st0)
# print(st1)
#贪婪与非贪婪
# st0 = 'aabbbcccc'
# st1 = re.findall(r'b{1,3}', st0)
# print(st1)
#
#
# st0 = 'aabbbcccc'
# st1 = re.findall(r'b{1,3}?', st0)
# print(st1)
# 正则补充
import re
#匹配密码
# st = re.findall(r'^[A-z|\_]\w{7,9}$', 'p045678912')
# print(st)
#匹配身份证
# st = re.findall(r'^\d{18}$|^\d{15}$', '123456789019283111')
# print(st)
#匹配手机号
st = re.findall(r'^1[3|4|5|6|7|8|9]\d{9}$','17987653455')
print(st)