admin 管理员组

文章数量: 1184232


2024年3月13日发(作者:指针数组是不是二维数组)

*

:

匹配前一个字符出现

0

次或者无限次,即可有可无

+

:

匹配前一个字符出现

1

次或者无线次,即至少有

1

:

匹配前一个字符出现

1

次或者

0

次,即要么有

1

次,要么没有

{m}

:

匹配前一个字符出现

m

{m,n}

:

匹配前一个字符出现从

m

n

示例

1

*

需求:匹配出,一个字符串第一个字母为大小字符,后面都是小写字母并且这些小写字母可有可无

import re

#

注意是前一个字符

ret = ("[A-Z][a-z]*","M")

print(())

ret = ("[A-Z][a-z]*","AaBcDE")

print(())

ret = ("[A-Z][a-z]*","Aabcdef")

print(())

#

运行结果

M

Aa

Aabcdef

示例

2

+

需求:匹配出,变量名是否有效

'''

遇到问题没人解答?小编创建了一个

Python

学习交流

QQ

群:

778463939

寻找有志同道合的小伙伴,互帮互助

,

群里还有不错的视频学习教程和

PDF

电子书!

'''

import re

names = ["name1","_name","2_name","__name__"]

for i in names:

ret = ("[a-zA-Z_]+[w]*",i)

if ret:

print("

变量名

%s

符合要求

" % ())

else:

print("

变量名

%s

非法

" % i)

#

运行结果

变量名

name1

符合要求

变量名

_name

符合要求

变量名

2_name

非法

变量名

__name__

符合要求

示例

3

需求:匹配出

0

99

之间的数字

'''

遇到问题没人解答?小编创建了一个

Python

学习交流

QQ

群:

778463939

寻找有志同道合的小伙伴,互帮互助

,

群里还有不错的视频学习教程和

PDF

电子书!

'''

import re

ret = ("[1-9]?[0-9]","7")

print(())

ret = ("[1-9]?d","33")

print(())

ret = ("[1-9]?d","09")

print(())

#

运行结果

7

33

0 #

这个结果并不是想要的,利用

$

才能解决

示例

4

{m}

需求:匹配出,

8

20

位的密码,可以是大小写英文字母、数字、下划线

import re

ret = ("[a-zA-Z0-9_]{6}","123a3g45678")

print(())

ret = ("[[a-zA-Z0-9_]{8,20}","1ad3123456addfcasdef")

print(())

#

运行结果

123a3g

1ad3123456addfcasdef


本文标签: 匹配 字符 结果 学习 出现