1.简介python
正则表达式(简称regex)是一些有字符和特殊符号组成的字符串,它们描述了模式的重复或者表述多个字符,因而正则表达式能按照某种模式匹配一系列有类似特征的字符串。换句话说,它们能匹配多个字符串…一种只能匹配一个字符串的正则表达式模式是很乏味而且毫无做用的。正则表达式
python经过标准库中的re模块来支持正则表达式。code
2.经常使用的匹配元字符(特殊符号和字符)字符串
表示择一匹配的管道符号(|),是的正则表达式可以匹配多个字符串而不单单是一个字符串。 at | home变量
点号(.)匹配除了换行符\n之外的任何单个字符 好比:f.o (匹配在字母f和o之间的任意一个字符:fao,f9o) ; .. (任意两个字符)键盘
若是要匹配字符串的开始位置,就必须使用脱字符(^)或者特殊字符\A,后者主要用于那些没有脱字符的键盘。美圆符号($)或者\Z将用于匹配字符串的末尾位置 好比:^From(任何以From做为其实的字符串); /bin/tcsh$(任何以/bin/tcsh做为结尾的字符串)co
特殊字符\b和\B能够用来匹配字符边界。\b用于匹配一个单词的边界,这意味这若是一个模式必须位于单词的起始部分,就无论该单词前面是否有任何字符。一样,\B将匹配出如今一个单词中间的模式(即,不是单词边界) 好比:\bthe(任何以the开始的字符串) \bthe\b(仅仅匹配单词the) \Bthe(任何包含但并不以the做为其实的字符串)字符
[0-9a-zA-Z\_]
能够匹配一个数字、字母或者下划线;数字
[0-9a-zA-Z\_]+
能够匹配至少由一个数字、字母或者下划线组成的字符串,好比'a100'
,'0_Z'
,'Py3000'
等等;管道
[a-zA-Z\_][0-9a-zA-Z\_]*
能够匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串,也就是Python合法的变量;
[a-zA-Z\_][0-9a-zA-Z\_]{0, 19}
更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。