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 ...
随机推荐
- poj 1087 C - A Plug for UNIX 网络流最大流
C - A Plug for UNIXTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contes ...
- oracle 基本语句练习(一) where, between ,null, like,转义字符,order by
1 where 筛选关键字; select * from emp where job >'CLERK' 从emp表中列出 job值大于'CLERK'的项 (由于比较的是字符串,所以加单引号 ...
- 第十七章,txt文件的写入和读取数据结合练习(C++)
#include <iostream> #include <fstream> int main(int argc, char** argv) { std::string str ...
- SimpleTagImageView
https://github.com/wujingchao/SimpleTagImageView SimpleTagImageView ImageView with a tag in android. ...
- dubbo-RPC学习(二) http protocol
dubbo中的协议默认支持很多种,从简单的开始,先解读HttpProtocol吧. dubbo中的http-RPC基于spring web支持的http invoker,web容器默认使用jetty. ...
- .net控件Control透明
public partial class tspControl : UserControl { public tspControl() { InitializeComponent(); SetStyl ...
- Linux vi编辑器
vim在内存缓冲区中处理数据 如果在启动vim时未指定文件名,或者这个文件不存在,vim会新开一段缓冲区来编辑. h 左移一个字符 j 下移一行 k 上移一行 l 右边移一个字符 PageDown(C ...
- python 调用zabbix api接口实现主机的增删改查
python程序调用zabbix系统的api接口实现对zabbix_server端主机的增删改查,使用相关功能时候,需要打开脚本中的相关函数. 函数说明: zabbixtools() 调用zabbi ...
- nodejs的mysql模块学习(三)数据库连接配置选项详解
连接选项 当在创建数据连接的时候 第一种大多数人用的方法 let mysql = require('mysql'); let connection = mysql.createConnection({ ...
- iOS之duplicate symbols for architecture x86_64错误
在我们写代码过程中可能会经常遇到这样一个错误: <span style="font-size:32px;color:#ff0000;">ld: 4 duplicate ...