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

Python正则表达式基础

2017-08-06 10:56 274 查看
直接给出字符就是精确匹配。特殊字符首先需要转义如’-‘:
'\-'


'\d'
匹配一个数字,
'\w'
匹配一个字母或者数字。

'123\d'
可以匹配
'1231'
但是无法匹配
'123a'


'\d\d\d'
可以匹配到
'123'


'\w\w\w'
可以匹配到
'py3'


'.'
表示任意一个字符,
'py.'
可以表示
py3
py!


'*'
表示任意长个字符,
'+'
表示至少一个字符,
'?'
表示0个或者1个字符,
'{n}'
表示n个字符,
'{n,m}'
表示n-m个字符
'\s'
表示一个空格。

举例
'\d{5}\s?\d{3,8}'
表示 五个数字+1-2个空格+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}'
由字母或下划线开头的,后接0-19个由数字字母下划线组成的字符串。

其他特殊:

A|B可以表示A或者B,即
(P|p)ython
表示
Python
或者
python
o

^
表示行的开头,
^\d
表示必须以数字开头

$
表示行的结尾,
$\d
表示必须以数字结尾

使用Python的
r
前缀,不必再考虑Python内置的转义了,如:

s = '123\\-001' #123\-001


s = r'123\-001' #123\-001
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 正则表达式