摘要:以某個開頭以某個結尾某個任意多次,大于等于讓某個取消貪婪匹配,可以理解為改為從左到右匹配到某個為止某個至少為一次,大于等于例某個出現到次等或者選或者有三種意思,中括號的任選一個就代表號,不代表任意字符了例非
^ 以某個開頭
$ 以某個結尾
* 某個任意多次,大于等于0
? 讓某個取消貪婪匹配,可以理解為改為從左到右匹配到某個為止
+ 某個至少為一次,大于等于1
{ }例,{2,5},某個出現2到5次.....{2},{2,}等
| 或者(a|b),選a或者b
[ ]有三種意思,1.[13567]中括號的任選一個-------2.[0-9],[a-z]-------3.[.]就代表.號,不代表任意字符了
[^]例,[^1]非1
[a-z]同上
/s空格
/S非空格
/w代表[A-Za-z0-9_]
/W代表非[A-Za-z0-9_]
[u4E00-u9FA5]代表漢字
( )略
/d數字
import re line1 = "你出生在2016-09-01" line2 = "你出生在2016-9-1" line3 = "你出生在2016/09/01" line4 = "你出生在2016年9月1號" line5 = "你出生在2016-09" regex_str = "(你出生在d{4}(-|/|年)d{1,2}($|(月|/|-)d{1,2}($|號)))" match_obj = re.match(regex_str, line5) if match_obj: print(match_obj.group(1)) #五個line都能匹配簡單的爬蟲
# -*- coding: utf-8 -*- # @Author: Lai import re import os import requests BASE_PATH = "E:/EW/" def get_block_link(url): html_obj = requests.get(url) reg = ".*?" link = re.findall(reg, html_obj.text)[0] links.append(link) return links def get_charterName_and_content(url): html_obj = requests.get(url) html_obj.encoding = "GBK" reg_content = "id="content">(.*?)