python:正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python:正则表达式相关的知识,希望对你有一定的参考价值。
正则表达式是一些由字符和特殊符号组成的字符串,它是用来处理字符串的强大工具,可以支持多种编程语言,所以相比各种编程语言,正则表达式是独立的,非常有用,值得我们学习。
说到底,正则表达式可以按照某种模式匹配一个具有相似特征的字符串的集合。
符号 | 说明 | 举例 |
---|---|---|
. | 可匹配任何字符(换行符除外) | a.b 代表ab之间有一个字符 a2b, a5b, alb, a*b |
^ | 匹配字符串的开始 | ^from 代表 任何以from开始的字符串 |
$ | 匹配字符串的结尾 | bi/li$ 代表 任何以bi/li结尾的字符串 |
* | 匹配前面出现的正则表达式零次或者多次 | |
+ | 匹配前面出现的正则表达式一次或者多次 | \d+ 表示一个至少一位数的数字 |
? | 匹配前面出现的正则表达式零次或者一次 | ab?表示a或者ab |
{N} | 匹配前面出现的正则表达式N次 | \d{3}表示连续三个数字,比如123,596 |
{M,N} | 匹配重复出现M次到N次的正则表达式 | |
[...] | 匹配字符组里出现的任意一个字符 | [23]是2或3,[cr][23]表示c2或者c3或者r2或者r3 |
[x-y] | 匹配从字符x到y中的任意一个字符 | [a-z]表示a至z之间某个字符 |
[^xy] | 不匹配此字符集中出现的任意一个字符 | [^abc]表示除a,b,c之外的字符 |
\d | 匹配(0~9)任何数字 | 任意一个数字,0到9 |
\w | 匹配任何数字字母字符 | 任意字母数字字符:*,/,-,a,8 |
\s | 匹配任何空白符 | |
\b | 匹配单词的边界 | \bthe表示任何以"the"开始的字符串,\bthe\b表示 “the” |
\c | 逐一匹配特殊字符 | |
\A (\Z) | 匹配字符串的起始(结束) | 与^和$相似,当初为了防止国际键盘没有这两个字符而规定的 |
0?[1-9]
表示01到09或者1到9
[0-9]{15,16}
表示15 或 16 位数字表示,例如:信用卡号码
\d{3}-\d{3}-\d(4)
表示 例如 800-555-1212
\[email protected]\w+\.com
表示的是电子邮件的地址格式,‘.‘前面的‘\‘代表反转义字符 例如 [email protected]
\d+(\.\d*)?
表示简单的浮点数,即, 任意个十进制数字,后面跟一个可选的小数点,然后再接零或多个十进制数字。例如:“0.004,”“2”,“75.”, 等等
(Mr?s?. )?[A-Z][a-z]* [ A-Za-z-]+
表示名字和姓氏,对名字的限制(首字母大写,其它字 母(如果存在)小写), 全名前有可选的称谓(“Mr.,” “Mrs.,” “Ms.,” 或 “M.,”),姓氏没有什么 限制,允许有多个单词、横线、大写字母。
原文链接:http://www.jianshu.com/p/cf767826d630
以上是关于python:正则表达式的主要内容,如果未能解决你的问题,请参考以下文章