注释都在代码里,请直接品尝
#导入正则表达式的包
import re
# . 点 匹配单个任意字符
arr = re.findall(".ood", "I say Good not Food");
print("\.:",end="");
print(arr);
#[] 中括号中的内容会被逐一匹配
arr = re.findall("[gf]ood" , "boy good and food girl");
print("[]:",end="");
print(arr)
#\d 单个数字匹配 \d\d连续匹配连个数字 依次类推
arr = re.findall("\d" , "I am 18 , you 100");
print("\d:",end="");
print(arr);
arr = re.findall("\d\d" , "I am 18 , you 100");
print("\d\d:",end="");
print(arr);
#\w [0-9a-zA-Z_] 匹配中阔号内的内容
arr = re.findall("\w" , "I am [] 124");
print("\w:",end="");
print(arr);
arr = re.findall("\w\w" , "I am [] 124");
print("\w\w:",end="");
print(arr);
#\s 匹配空白字符 空格 tab键
arr = re.findall("\s" , "I am superman ");
print("\s:" , end="");
print(arr);
#直接匹配一组字符串
arr = re.findall("am" , "I am superman");
print("直接匹配:" , end="");
print(arr);
# | 分割符的应用 匹配两个不同的字符串
arr = re.findall("good|food" , "hello good food");
print("| :" , end="");
print(arr);
# *号 匹配左邻字符出现0次或者多次
arr = re.findall("ka*k|he*oll*l" , "kaaaaak heeeeeolll");
print("* :" , end="");
print(arr);
# +号 左邻字符出现一次或者多次
arr = re.findall("ka+k" , "kakkkkk kk");
print("+ :" , end="");
print(arr);
# ?号 左邻字符出现0次或则1次
arr = re.findall("ka?k" , "kakkkkk kk");
print("? :" , end="");
print(arr);
# {}号 定义左邻字符出现的次数
arr = re.findall("go{2}d" , "a superman you are a good boy");
print("{} :" , end="");
print(arr);
# ^ 匹配是否某个字符或字符串开头
arr = re.findall("^I like" , "I like goole");
print(" ^ :" , end="");
print(arr);
#$ 匹配是否以某字符或字符串结尾
arr = re.findall("man$" , "a a a superman");
print("$ :" , end="");
print(arr);
#() 分组保存 \数字 第一个\为转义 (huang)\\1\\1 => (huanghuanghuang) 三个huang连起来匹配
arr = re.search("(huang)\\1\\1" , "huanghuanghuang hdshuahuang");
print("() :" , end="");
print(arr.group());
运行结果:
第三步爬网页,近期将发出。。。。。。。。