摘要:以某个开头以某个结尾某个任意多次,大于等于让某个取消贪婪匹配,可以理解为改为从左到右匹配到某个为止某个至少为一次,大于等于例某个出现到次等或者选或者有三种意思,中括号的任选一个就代表号,不代表任意字符了例非
^ 以某个开头
$ 以某个结尾
* 某个任意多次,大于等于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">(.*?)