HOWTO re
\w 字母数字字符 [a-z A-Z 0-9_]
\W 非字母数组字符 [^a-z-A-Z 0-9_]
\d 十进制数字 [0-9]
\D 非数字字符 [^0-9]
\s 空白字符 [\t\n\r\f\v]
\S 非空白字符 [^\t\n\r\f\v]
‘.’ 匹配除了换行符之外的所有字符,在dotall模式下,匹配所有字符。
* 匹配前面的字符零次或多次。
+ 匹配前面的字符至少一次。
? 匹配前面的字符零次或者一次。
{m,n} 匹配前面的字符m-n次。可以缺省m,n,m缺省时为0,n缺省时为无穷大
re.compile(‘RE’,re.IGNORECASE) re.IGNORECASE可以缺省


match:在字符串的开始匹配,返回字符
search:在整个字符串中匹配,返回位置
若都没有匹配成功就返回None。
findall:在所有子字符串中匹配,返回list
finditer:在所有子字符串中匹配,返回iterator

group():返回匹配成功的字符串
start() 返回匹配成功的第一个位置
end() 返回匹配成功的最后一个位置
span() 返回匹配成功的位置的元组
因为match之匹配字符串的开始,所以start总是返回0.
Flags:

I:不分大小写。
L:\W\w\B\b 可以匹配法文之类的非英文字符作为英文字符,但是会减慢速度
M:^ $在默认模式只能匹配字符串的begining和end。在M下,可以匹配所有行的begining和end。
S:. 在默认模式下匹配所有字符除了换行符。在M下,可以匹配所有行的begining和end。
A: \w\W\b\B\s\S 可以匹配ASCII而不是Unicode
X: 默认省略RE表达式中的空格,除了空格表达式。
To match a literal '|', use \|, or enclose it inside a character class, as in [|].
把元字符放在character class里面就不用\来表示。
\A : 无论在默认模式还是M模式中,都是匹配字符串的begining。
\Z : 无论在默认模式还是M模式中,都是匹配字符串中的end。
\b : 单词边界,表示单词的begining或end,单词是数字和字母的序列,以数字或字母开始,以数字或字母接结束。
\B : 意思跟b相反,非边界。

RE的split和STR的split不一样。
HOWTO re的更多相关文章
- HowTo: Linux Server Change OR Setup The Timezone
Method 1 #tzselect # select timezone e.g. Asia/Shanghai#echo 'Asia/Shanghai' > /etc/timezone # se ...
- Linux TC流量控制HOWTO中文版
<本文摘自Linux的高级路由和流量控制HOWTO中文版 第9章节>网人郭工进行再次编译: 利用队列,我们可以控制数据发送的方式.记住我们只能对发送数据进行控制(或称为整形).其实,我们无 ...
- Howto: 如何将ArcGIS Server缓存移动到新服务器
Howto: 如何将ArcGIS Server缓存移动到新服务器 文章编号: 33686 软件: ArcGIS Server 9.2, 9.3, 9.3.1 操作系统: Windows 2000, ...
- HowTo Perform the spatial selection 'Share a line segment with' using ArcObjects
HowTo Perform the spatial selection 'Share a line segment with' using ArcObjects Article ID: 26528 ...
- OpenSSL Command-Line HOWTO
OpenSSL Command-Line HOWTO The openssl application that ships with the OpenSSL libraries can perform ...
- Bootstrap 3 How-To #2 标题,链接与按钮
这个系列的要点来自一本名为 Twitter Bootstrap Web Development How-to 的书,但是,这本书的内容是基于以前版本的,与最新的 3.0 并不一致. 为了方便学习和使用 ...
- HOWTO: Create native-looking iPhone/iPad applications from HTML, CSS and JavaScript
HOWTO: Create native-looking iPhone/iPad applications from HTML, CSS and JavaScript Though it's not ...
- UBIFS FAQ and HOWTO
转:http://www.linux-mtd.infradead.org/faq/ubifs.html UBIFS FAQ and HOWTO Table of contents How do I e ...
- UBI FAQ and HOWTO
转:http://www.linux-mtd.infradead.org/faq/ubi.html UBI FAQ and HOWTO Table of contents How do I enabl ...
- HOWTO install Oracle 11g on Ubuntu Linux 12.04 (Precise Pangolin) 64bits
安装了Ubuntu 12.04 64bit, 想在上面安装Oracle 11gr2,网上找了好多文档都没成功,最后完全参考了MordicusEtCubitus的文章. 成功安装的关键点:install ...
随机推荐
- Android提高21篇之一:MediaPlayer
本文介绍MediaPlayer的使用.MediaPlayer可以播放音频和视频,另外也可以通过VideoView来播放视频,虽然VideoView比MediaPlayer简单易用,但定制性不如用Med ...
- 具体解释Android中AsyncTask的使用
在Android中实现异步任务机制有两种方式,Handler和AsyncTask. Handler模式须要为每个任务创建一个新的线程,任务完毕后通过Handler实例向UI线程发送消息,完毕界面的更新 ...
- 忘记redhat linux root密码怎么办
自己VM虚拟机里安装redhat linux root密码忘了,刚开始想重新安装,但是后来想到还有linux有一个single模式,使用single可以直接进入字符界面,然后修改: 启动vm虚拟机,启 ...
- [置顶] mybatis的批量新增
开发项目中,总是与数据打交道,有的时候将数据放入到一个集合中,然后在遍历集合一条一条的插入,感觉效率超不好,最近又碰到这个问题,插入50条数据用了将近1s,完全满足不了系统的需求.效率必须加快,然后网 ...
- Helpers\SimpleCurl
Helpers\SimpleCurl The SimpleCurl class is there to curl data from RESTful services. A lot of compan ...
- Helpers\Document
Helpers\Document The document class is a collection of useful methods for working with files. To get ...
- Java中执行外部命令
在项目中执行一个linux的shell脚本,于是需要在java环境下执行外部命令如系统命令.linux命令的需求,本人小小研究了一下,又上网查了一些资料先整理如下. java执行外部命令主要依赖两个类 ...
- css3 一些属性
==text-shadow== 语法:text-shadow: x-offset y-offset blur-radius color text-shadow:X 轴偏移量 Y轴偏移量 模糊半径 阴影 ...
- Linux系统上安装mysql数据库
一:下载并且上传安装包到linux系统上 1:下载地址:http://dev.mysql.com/downloads/mysql/ 2:通过LeapFtp工具,将windows上的mysql安装包拷贝 ...
- [改善Java代码]枚举和注解结合使用威力更大
注解的写法和接口很类似,都采用了关键字interface,而且都不能有实现代码,常量定义默认都是pulbic static final类型的. 他们的主要不同点是:注解在interface前加上@字符 ...