Learning Python 008 正则表达式-001
Python 正则表达式 总结
这节课讲讲正真使用的技术 — 正真表达式。
文本爬虫
什么是正则表达式
正则表达式这个名词听起来就有一种很官方的感觉,但是它是一个很很很有用的技术。我用语言是不能形容它的。那举个例子好了。下面是一段加密的文本:
sdajksdhfakjldooxxIxxoosdsdsdmknmdsdooxxamxxoodsddjksdjooxxAoboxxoodsddsddkjlooxxSirxxoosjdlsjl
如果你知道上面这段文本的解密规律,就可以知道上面这段文本的真正内容。
* 解密规律:ooxx 真正的内容 xxoo
* 解密:I am Aobo Sir
所以,就算你知道了解密规律,你也需要花一定时间去找,这种事情是可以交个程序去做的,正则表达式做的就是这样的事情。
简单的看看下面的列表
常用符号:*
、.
、?
、(
符号 | 说明 |
---|---|
. |
匹配任意字符,\n (换行符)除外 |
* |
匹配前一个字符0次或无限次 |
? |
匹配前一个字符0次或1次 |
.* |
贪心算法。(获取所有符合需求的信息) |
.*? |
非贪心算法 |
() |
括号内的数据作为结果返回 |
常见方法:findall()
、search()
、sub()
方法 | 说明 |
---|---|
findall() |
匹配所有符合规律的内容,返回包含结果的列表 |
search() |
匹配并提取第一个符合规律的内容,返回一个正则表达式对象(object) |
sub() |
替换符合规律的内容,返回替换的值 |
请见下一讲:Learning Python008 正则表达式 - 002
Learning Python 008 正则表达式-001的更多相关文章
- Learning Python 008 正则表达式-003 sub()方法
Python 正则表达式 - sub()方法 sub()方法 sub()方法:替换符合规律的内容,返回替换的值 # -?- coding: utf-8 -?- import re secret_cod ...
- Learning Python 008 正则表达式-003 search()方法
Python 正则表达式 - search()方法 findall()方法在找到第一个匹配之后,还会继续找下去,findall吗,就是找到所有的匹配的意思.如果你只是想找到第一个匹配的信息后,就不在继 ...
- Learning Python 008 正则表达式-002 findall()方法
Python 正则表达式 - findall()方法 重点 findall()方法的使用 - 程序讲解 简单的符号的使用 正则表达式的库文件是re,先导入库文件: import re .的使用举例 # ...
- 第11.20节 Python 中正则表达式的扩展功能:后视断言、后视取反
一. 引言 在<第11.19节 Python 中正则表达式的扩展功能:前视断言和前视取反>中老猿介绍了前视断言和前视取反,与二者对应的还有后视断言和后视取反. 二. (?<=-)后视 ...
- 第11.19节 Python 中正则表达式的扩展功能:前视断言和前视取反
一. 引言 在<第11.16节 Python正则元字符"()"(小括号)与组(group)匹配模式>中老猿介绍了组匹配模式的命名组功能及引用组功能,这两者都是组模式的扩 ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- Python 进阶 - 正则表达式
1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...
- python study - 正则表达式
第 7 章 正则表达式 7.1. 概览 7.2. 个案研究:街道地址 7.3. 个案研究:罗马字母 7.3.1. 校验千位数 7.3.2. 校验百位数 7.4. 使用 {n,m} 语法 7.4.1. ...
- python使用正则表达式文本替换
2D客户端编程从某种意义上来讲就是素材组织,所以,图片素材组织经常需要批量处理,python一定是最佳选择,不管是win/linux/mac都有一个简单的运行环境 举两个应用场景: 如果不是在某个文件 ...
随机推荐
- 转 Oracle 11g服务详细介绍
转自http://www.cnblogs.com/userWuLiang/archive/2013/04/13/3017900.html Oracle 11g服务详细介绍及哪些服务是必须开启的? 成功 ...
- 好久没更了,确实太忙了--dedecms篇
最近写了一个地方新闻网站,可以看看:www.qiluhuabao.com.模仿www.bashan.com写的 用的是dedecms,只听过,没用过.终于在上周来了一个必须用到cms的项目,现学现卖, ...
- 关于数组的初始化memset函数
关于数组的初始化memset函数 其实memset复制时按bit8个8个的赋值,有兴趣的可以自己百度.
- java:Map借口及其子类HashMap二
java:Map借口及其子类HashMap二 重点:所有的集合必须依赖Iterator输出 Map<String, Integer> map = new HashMap<String ...
- ListOperations
RedisOperations<K,V> getOperations() V index(K key, long index) V leftPop(K key) V leftPop( ...
- C#返回Json,js解析Json,并添加到select标签中
后台: List<Student> list=GetAll();//id name string json = new JavaScriptSerializer().Serialize(l ...
- mysql字符串的隐式转换导致查询异常
如果mysql某个字段(name)类型为varchar, 加了索引,在执行where查询的时候,传入了int的值,这样就会全表扫描,把每一条的值都转换成int(会出现"中国"-&g ...
- codeforces 617E E. XOR and Favorite Number(莫队算法)
题目链接: E. XOR and Favorite Number time limit per test 4 seconds memory limit per test 256 megabytes i ...
- Android: 一个两点触控的案例
下面是一个两点触控的案例代码: package com.zzj; import android.app.Activity; import android.os.Bundle; import andro ...
- python 标准库 —— http(http.cookiejar)
1. cookie 信息的读取 from urllib import request import http from http import cookiejar cookie = cookiejar ...