Python正则表达式基础

xiaoxiao2021-02-28  104

直接给出字符就是精确匹配。特殊字符首先需要转义如’-‘:'\-'

'\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
转载请注明原文地址: https://www.6miu.com/read-38085.html

最新回复(0)