RE正则

正则表达式(RE)

一. 动机

  1. 文本处理已经成为计算机的常见工作
  2. 对文本内容的搜索,定位,提取逻辑比较复杂
  3. 为了快速方便的解决上述问题,产生了正则表达式

二. 简介

  • 定义:即文本的高级匹配模式,提供搜索,替换,查找等功能。其本质是一系列由字符和特殊符号构成的字串,这个字串即正则表达式。
  • 匹配原理:通过普通字符和有特定含义的字符来组成字符串,用以描述一定的字符串规则,比如重复,位置等,来表达一类特定的字符串内容。

三. 元字符的使用

  1. 普通字符

    匹配规则: 每个普通字符匹配对应的字符

    In [14]: re.findall(‘ab’,‘abcdeabcda’)
    Out[14]: [‘ab’, ‘ab’]

    注意:

    • 正则表达式永远是作为一个规则整体匹配
    • python中正则表达式可以匹配中文
  2. 元字符 : |
    匹配规则: 匹配 | 两侧任意一个正则规则即可

    In [16]: re.findall(‘ab|cd’,‘abcdefghabcd’)
    Out[16]: [‘ab’, ‘cd’, ‘ab’, ‘cd’]

  3. 匹配开始位置

    元字符 : ^
    匹配规则: 使用^匹配目标字符串开头位置

    In [18]: re.findall(’^Hello’,‘Hello world’)
    Out[18]: [‘Hello’]

  4. 匹配结尾位置

    元字符 : $
    匹配规则: 使用 $ 匹配目标字符串结尾位置

    In [20]: re.findall(‘Jame$’,‘Hi,Jame’)
    Out[20]: [‘Jame’]

    注意:正则表达式中如果有^ $ 必然出现在正则表达式的开始和最后。如果同时有^ $则正则必须匹配目标字符串全部内容。

  5. 匹配任意字符

    元字符: .
    匹配规则:匹配除换行外的任意一个字符

    In [25]: re.findall(‘小.’,‘小红说小王欺负小李’)
    Out[25]: [‘小红’, ‘小王’, ‘小李’]

  6. 匹配字符集中字符

    元字符:[字符集]
    匹配规则:匹配字符集中任意一个字符
    表达形式:[#abc好坏] --> 匹配[]内任意一个字符
    [0-9][a-z][A-Z] --> 匹配区间内的任意一个字符
    [-_#0-9a-z] -->混合书写,区间写在后面

    In [30]: re.findall(’[aeiou]’,‘Hello world’)
    Out[30]: [‘e’, ‘o’, ‘o’]

  7. 匹配字符集反集

    元字符: [^…]
    匹配规则:匹配除了字符集中的任意一个字符

    In [3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值