python正则表达式学习(1)- re模块

定义:正则表达式是一种用来匹配字符串的一组特殊的字符串。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。
列举以下特殊字符可以匹配的字符:

  1. 常用的元字符
    在这里插入图片描述
    00\d:可以匹配’001’,但无法匹配’00a’
    ‘\w\w\d’:可以匹配’py2’
    \b\w\d:可以匹配’p2’,但无法匹配’22’

  2. 常用的限定符

在这里插入图片描述
\d{3} :可以匹配3个数字,‘100’
0\d{2}-\d{8}|0\d{3}-\d{7}:匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号,7位本地号(0376-2233445)。

python中re模块可以对正则表达式的结果进行判断。(由于 Python 的字符串本身也用\转义,所以要特别注意,因此建议使用 Python 的 r 前缀,就不用考虑转义的问题了s = ‘ABC\-001’ # Python 的字符串 ,对应的正则表达式字符串变成: ‘ABC-001’
s = r’ABC-001’,对应的正则表达式字符串变成: ‘ABC-001’)

在sublime-text测试以下程序:

#coding=utf-8
import re
p=re.match(r'^\d{3}\-\d{3,8}$','010-12345')
if p!=None:
	print('ok')
else:
	print('wrong')

‘^\d{3}-\d{3,8}$:可以匹配以三位数字开头,横线’-'连接五位数字并且结束的字符串。010-12345符合该正则表达式。
运行后:
ok [Finished in 0.1s]

字符串为a12-12345时:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43245972/article/details/85055508