正则基础

import re

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

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

#匹配所有s开头的字母
# pattern = re.compile(r'\bw\w*\b')
# pattern = re.compile(r'w\d*\b')#可以匹配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'hello\d+')
# 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'we\d?')
# s = pattern.findall('we we100')
# print(s)

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

#分支条件 | 满足任意一种规则都应该匹配成功
#从左到右匹配每个条件 满足后就不会管其他条件了
# pattern = re.compile(r'0\d{2}-\d{8}|0\d{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())

 

posted @ 2018-03-10 21:37  Bob__Zhang  阅读(147)  评论(0编辑  收藏  举报