正则表达式
正则表达式是一种用来匹配字符串的强有力的武器
其设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,就认为匹配,否则就是不匹配
判断一个字符串是否是匹配的方法是
1) 创建一个匹配的正则表达式
2) 用该正则表达式去匹配输入来判断是否匹配
在正则表达式中,如果直接给出字符,就是精确匹配
使用示例:
\d 匹配一个数字
\w 匹配一个字母或数字
\s 匹配一个空格(也包括Tab等空白符)
. 匹配任意字符
* 匹配任意个字符(包括0个)
+ 匹配至少一个字符
? 匹配0个或1个字符
{n} 匹配n个字符
{n,m} 匹配n-m个字符
\d{3}\s+\d{3,8} 匹配开头3位数字,中间有多个空格,最后再接3-8个数字的字符串
\d{3}\-\d{3,8} 匹配开头3位数字,中间有'-',最后再接3-8个数字的字符串,由于'-'是特殊字符,在正则表达式中,要用'\'转义
[0-9a-zA-Z\_] 可以匹配一个数字、字母或者下划线
[0-9a-zA-Z\_]+ 匹配至少由一个数字、字母或者下划线组成的字符串
[a-zA-Z\_][0-9a-zA-Z\_]* 匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串,也就是Python合法的变量
[a-zA-Z\_][0-9a-zA-Z\_]{0, 19} 更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)
A|B 匹配A或B
(P|p)ython 匹配'Python'或者'python'
^\d 必须以数字开头,^表示行的开头
\d\$ 必须以数字结束,\$表示行的结束
py 可以匹配'python'
^py$ 只能匹配'py'