常用的正则表达式匹配字符

  最近准备学习下爬虫知识,复习了下正则表达式的知识,在这里记录一下,方便以后忘记的时候可以回来回顾一下。

    

常用的正则表达式:

1) ^ $ *  ?  + [2]  [2,5]  [2,]

2)   []  [^]  [a-z]

3)   \s \S  \w \w

4)  [\u4E00-\u9FA5]  ()  \d


正则表达式:

1) ^ 以字符串开头
$ 以字符串结尾
* 匹配任意字符
? 设置不贪婪匹配, 例: + 匹配到一个时,就取消匹配,加上?则匹配多个,注意是从字符串的右边开始匹配
+ 匹配字符串至少一个以上
{2} 匹配两个
{2,} 匹配两个以上
{2,5} 匹配两个或者五个
| 表示'或'的关系, | 两边的表达式任意一个匹配即可
2)
[] 匹配中括号中的任意字符
[^] 匹配中括号中的字符以外的字符
[a-z] 匹配中括号中的区间
. 匹配任意字符
3)
\s 匹配空格
\S 匹配非空格
\w 匹配数字,字母,下划线
\W 匹配非数字,字母,下划线
4)
[\u4E00-\u9FA5] 匹配汉字
() 使用括号提取匹配到的字符串
\d 匹配数字

 

示例程序:

import re

line = 'xxx出生于2001年6月'
line = 'xxx出生于2001/6/2'
line = 'xxx出生于2001-6-2'
line = 'xxx出生于2001-06-02'
line = 'xxx出生于2001-06'

regex = ".*出生于(\d{4}[年/-]\d{1,2}([月/-]\d{1,2}|[月/-]$|$))"
ret = re.match(regex, line)
if ret:
    print(ret.group(1))

  

 

转载于:https://www.cnblogs.com/forwrader/p/9571538.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值