正则基础
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())