python快速入门
2026/5/14 11:06:34 网站建设 项目流程

正则匹配

\w = [A-Za-z0-9_] 但是不能匹配特殊符号如&,空格

\W 匹配非单词非数字非下划线 ,比如能匹配到&,空格

\d = [0-9]

\D = [^0-9] #在中括号的^表示非

\s 匹配 空白字符 比如 ' ' '\t' '\n'

. 匹配 除了换行符的所有符号

import re

a = 'python 111java666php'

r = re.findall('[a-z]{3,6}',a)

print(r)

上面的结果会贪婪匹配到6个字符,可以成功匹配到python整个字符串

贪婪与非贪婪 在{3,6}加多一个问号变成非贪婪

r = re.findall('[a-z]{3,6}?',a)

这样的只会连续匹配3个字母就停下了

结果: pyt hon jav php

因为jav后剩下一个a不连续了,后面是数字,所以匹配不了

另外一种?代表0到多个,如果不是在数量级字符后面(比如{3,6})的话

边界匹配

^\d{4,8}$

如果是连续的11个数字不能匹配

模式匹配

忽略大小写

=====

import re

language = 'PythonC#JavaPHP'

用| 来进行多种模式匹配 re.I 忽略大小写 re.S匹配所有字符,包括换行符,跟.匹配结合使用

r = re.findall('c#',language,re.I | re.)

替换

如果是1就替换1个,如果0表示无限

将字符串出现C#都调换成GO

re.sub('C#','GO',lauange,1)

比较好用的正则

re.match

re.serach

匿名函数 用lambda

def add(x,y)

return x+y

print(add(1,2))

f= lambda x,y: x+y

print

(f(1,2))

三元表达式

x,y x 大于y x 否则 y

条件为真时返回的结果 if 条件判断 else 条件为假时的返回结果

x = 2

y = 1

r = x if x>y else y

print(r)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询