正则表达式练习

1、匹配一篇英文文章的标题 类似 The Voice Of China

([A-Z][a-z]*)( [A-Z][a-z]*)*

2、匹配一个网址

https://www.baidu.com http://www.cnblogs.com
(https|http|ftp):\/\/[^\s]+

3、匹配年月日日期 类似 2018-12-06 2018/12/06 2018.12.06

\d{4}[\-.]\d{1,2}[\-.]\d{1,2}
\d{4}(?P<tag>[.\-\+\@])\d{1,2}(?P=tag)\d{1,2}

4、匹配15位或者18位身份证号

[1-9]\d{14}(\d{2}[\dx])?

5、从lianjia.html中匹配出标题,户型和面积,结果如下:

[('金台路交通部部委楼南北大三居带客厅 单位自持物业', '3室1厅', '91.22平米'), ('西山枫林 高楼层南向两居 户型方正 采光好', '2室1厅', '94.14平米')]

import re
with open('lianjia.html',encoding='utf-8') as f:
     content = f.read()
par = '<div class="info clear">.*?<a.*?data-sl="">(?P<loc>.*?)</a>.*?<span class="divide">/</span>(?P<type>.*?)<span class="divide">/</span>(?P<area>.*?)<span class="divide">'
ret = re.findall(par,content,re.S)
print(ret)

6、1-2((60-30+(-40/5)(9-25/3+7/399/42998+10568/14))-(-43)/(16-32))

从上面算式中匹配出最内层小括号以及小括号内的表达式

\([^()]*\)

7、从类似9-25/3+7/399/42998+10568/14的表达式中匹配出乘法或除法

\d+(\.\d+)?[*/]\d+(\.\d+)?

Day17作业及默写的更多相关文章

  1. Day29作业及默写

    作业: 1\ 默写 黏包协议 2\ 上传大文件(文件\视频\图片) 3\ 和你的同桌调通 从你的计算机上传一个视频到你同桌的电脑上 4\ 进阶 : 带上登录 Server #Server #!/usr ...

  2. Day20作业及默写

    1.请使用C3算法计算出链接图中的继承顺序-Link 一 graph BT id1[A]-->id2[B] id2[B]-->id6[F] id6[F]-->id7[G] id1[A ...

  3. Day11作业及默写

    1.写函数,传入n个数,返回字典{'max':最大值,'min':最小值} 例如:min_max(2,5,7,8,4) 返回:{'max':8,'min':2}(此题用到max(),min()内置函数 ...

  4. Day10作业及默写

    1,继续整理函数相关知识点,写博客. 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) def func(*number): sum=0 for num in number: sum+=nu ...

  5. Day14作业及默写

    1.整理今天所学内容,整理知识点,整理博客. pass 2.画好流程图. pass 3.都完成的做一下作业(下面题都是用内置函数或者和匿名函数结合做出): pass 4.用map来处理字符串列表,把列 ...

  6. Day13作业及默写

    1. 整理今天的博客,写课上代码,整理流程图. 博客链接--博客园 2. 写一个函数完成三次登陆功能: 用户的用户名密码从一个文件register中取出. register文件包含多个用户名,密码,用 ...

  7. Day9作业及默写

    1,整理函数相关知识点,写博客. 2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func(obj): return obj[1::2] 3, ...

  8. Day8作业及默写

    1,有如下文件,a1.txt,里面的内容为: 老男孩是最好的培训机构, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: 将原文件全部读出来并打印. with ...

  9. Day7作业及默写

    1. 判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数. 例如: 153 = 1**3 + 5**3 + 3**3 InputNu ...

随机推荐

  1. Power Of Two leetcode java

    问题描述: Given an integer, write a function to determine if it is a power of two. 问题分析:给定一个数,判断它是不是2的幂. ...

  2. UVALive - 7041 G - The Problem to Slow Down You

    题意:求两个串的公共回文子串个数 题解:建两个回文自动机,从0和1各跑一边就是答案了,因为对于回文自动机来说,从头开始dfs就能找出该字符串的所有回文串 //#pragma GCC optimize( ...

  3. pip安装kolla-ansible时报错Cannot install 'PyYAML'的解决方法

    pip install kolla-ansible --ignore-installed PyYAML

  4. poj-1026-置换

    Cipher Bob and Alice started to use a brand-new encoding scheme. Surprisingly it is not a Public Key ...

  5. hdu 1025LIS思路同1257 二分求LIS

    题目: Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit ...

  6. javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决

    javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决 在做移动端时间转化为时间戳时,遇到了一个问题,安卓手机上访问时,能拿到时间戳,从而正确转换时间,而在i ...

  7. Spring注解之@Import

    /** * Indicates one or more {@link Configuration @Configuration} classes to import. * 表示import 一个或多个 ...

  8. TortioseSVN切换账号教程

    TorioseSVN如果不记住用户名密码那么基本每样连接服务器的操作都要重新请求认证这很麻烦,所以我们一般选择记住用户认证信息. 但记住用户认证信息后以后每次登录都后台自动以该用户身份登录,不像QQ自 ...

  9. WebSphere安装教程(WAS6.1为例)

    1.网络准备 我们选择图形界面安装,如果堡垒机是windows则要在目标机器安装桌面环境并开启vcnserver:如果堡垒机是Linux则在堡垒机安装桌面环境和vncserver,然后将目标机的DIS ...

  10. android 数据库添加字符串 添加失败 解决方案

    这两天遇到一个棘手的问题,在往sqlite数据库中添加数据时,总是添加失败,但是添加数字却可以.原来是添加时,忘记添加''号修饰. 修改前: 修改后: 这样就完美解决.