您的位置:首页 > 编程语言 > Python开发

Python正则表达式

2014-05-19 22:51 197 查看
1、正则表达式(RE)

是一些由字符和特殊符号组成的字符串,它们描述了这些字符和字符的某种重复方式,因此能按某种模式匹配一个有相似特征的字符串的集合,因此能按某模式匹配一系列有相似特征的字符串。

有两种主要方法完成模式匹配:

搜索(searching)——在字符串任意部分中查找匹配的模式,通过 search()函数或方法来实现。
匹配(matching)——判断一个字符串能否从起始处全部或部分的匹配某个模式,调用 match()函数或方法实现。

2、正则表达式使用的特殊符号和字符

下面介绍最常用的元字符(metacharacters)——特殊字符和符号,正是它们赋予了正则表达式强大的功能和灵活性。

常用正则表达式符号和特殊字符

记号描述正则表达式样例
符号
re_string匹配字符串的值foo
re1 | re2匹配正则表达式re1或re2foo | bar
.匹配任何符号(除换行符外)::.+::
^匹配字符串的开始^Dear
$匹配字符串的结尾/bin/\w*sh$
*匹配前面出现的正则表达式零次或多次[A-Za-z]\w*
+ 匹配前面出现的正则表达式一次或多次\d+\.|\.\d+
?匹配前面出现的正则表达式零次或一次goo?
{N}匹配前面出现的正则表达式N次\d{3}
{M, N}匹配重复出现M次到N次的正则表达式\d{5,9}
[...]匹配字符组里出现的任意一个字符[aeiou]
[..x-y..]匹配从字符x到y中的任意一个字符[0–9], [A-Za-z]
[^...]不匹配此字符集中出现的任何一个字符,包括某一个范围的字符(如果在此字符集中出现)[^aeiou],

[^A-Za-z0–9_]

(* | + | ? | { }) ?用于上面出现的任何“非贪婪”版本重复匹配次数符号(*,+,?,{}).*?\w
(...)匹配封闭括号中正则表达式(RE),并保存为子组(\d{3})?,

f(oo|u)bar

特殊字符
\d匹配任何数字,和[0-9]一样(\D是\d的反义:任何非数字符)data\d+.txt
\w匹配任何数字字母字符,和[A-Za-z0-9]相同(\W是\w的反义)[A-Za-z_]\w+
\s匹配任何空白符,和[\n\t\r\v\f](\S是\s的反义)of\sthe
\b匹配单词边界(\B是\b的反义)\bThe\b
\nn匹配已保存的子组price: \16
\c逐一匹配特殊字符c(即,取消它的特殊含义,安字面匹配)\., \\, \*
\A (\Z)匹配字符串的起始(结束)\ADear
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: