正则基础

import re

#元字符 代表单词开头或者结尾  也就是单词的分界处  不代表标点符号,空格,换行符
# pattern = re.compile(r'we')
# s = pattern.findall('we We well welcome')
# print(s)

#匹配we和work之间的所有内容  用到元字符
# . 匹配除了换行符的任意字符
# * 含义是 * 前面的内容连续重复任意次 使得整个表达式被表达
#.* 匹配任意数量不换行的字符
# pattern = re.compile(r'we.*work')
# s = pattern.findall('we We well welcome like work')
# print(s)

#匹配所有s开头的字母
# pattern = re.compile(r'ww*')
# pattern = re.compile(r'wd*')#可以匹配w100  ?????? 我想用^ $怎么办
# s = pattern.findall('we We well w100 selcome like work')
# print(s)

#转义字符 元字符当普通字符用时需要转义  取消特殊字符(元字符)的特殊意义
# pattern = re.compile(r'w*://w*.w*.w*/')#可以匹配w100  ?????? 我想用^ $怎么办
# s = pattern.findall('https://www.baidu.com/')
# print(s[0])

# #重复  +重复一次或多次
# pattern = re.compile(r'hellod+')
# s = pattern.findall('hello1 hello100')
# print(s)
#
# #匹配5到12个字的字符串
# pattern = re.compile(r'^d{5,12}$')
# s = pattern.findall('376100870')
# print(s)
#
# #? 匹配0次或1次
# pattern = re.compile(r'wed?')
# s = pattern.findall('we we100')
# print(s)

#[]号 匹配[]中的任意字符
# pattern = re.compile(r'[.?]')
# s = pattern.findall('we w.e1?00')
# print(s)

#分支条件 | 满足任意一种规则都应该匹配成功
#从左到右匹配每个条件 满足后就不会管其他条件了
# pattern = re.compile(r'0d{2}-d{8}|0d{3}-d{7}')
# s = pattern.findall('010-11223344 0123-2233445')
# print(s)

#从左到右匹配每个条件 满足后就不会管其他条件了
# pattern = re.compile(r'd{3}|d{8}')
# s = pattern.findall('11223344')
# print(s)

#匹配IP地址192.168.1.1
pattern = re.compile(r'((d{1,3}).){3}d{1,3}')
s = pattern.search('192.168.1.1')
print(s.group())

#IP中的每个数字不能大于255  ??????
pattern = re.compile(r'((25[0-5]|2[0-4]d|[0-1]d{2}|[1-9]?d).){3}(25[0-5]|2[0-4]d|[0-1]d{2}|[1-9]?d)')
s = pattern.search('256.168.1.1')
print(s.group())
原文地址:https://www.cnblogs.com/zhangboblogs/p/8542187.html