2024-09-01
Python
00

目录

参考
使用
re.findall
re.search
re.match
re.split
一些别的

参考

python的re模块说明:

https://docs.python.org/zh-cn/3/library/re.html

一些常见的正则表达式写法(邮箱、手机号、密码、身份证):

https://zhuanlan.zhihu.com/p/338826624

使用

re.findall

非常有用!

在这里插入图片描述

powershell
in_str = """ Name: 10.10.90.86:9866 (hadoop001) DFS Used: 149719834624 dgf Name: 10.10.90.87:9866 (hadoop002) DFS Used: 1497198231234624 dgfg Name: 10.10.90.88:9866 (hadoop003) DFS Used: 14971981323134624 gfdg """ import re pattern1 = re.compile(r"Name: [0-9]+.[0-9]+.[0-9]+.[0-9]+") dalllist1 = re.findall(pattern1, in_str) dalllist1 = list(map(lambda x: x[6:], dalllist1)) pattern2 = re.compile(r"DFS Used: [0-9]+") dalllist2 = re.findall(pattern2, in_str) dalllist2 = list(map(lambda x: x[14:], dalllist2)) for i in zip(dalllist1, dalllist2): print(i)

re.search

感觉基本没啥用。

在这里插入图片描述

powershell
in_str = """ Name: 10.10.90.86:9866 (hadoop001) DFS Used: 149719834624 dgf Name: 10.10.90.87:9866 (hadoop002) DFS Used: 1497198231234624 dgfg Name: 10.10.90.88:9866 (hadoop003) DFS Used: 14971981323134624 gfdg """ import re pattern1 = re.compile(r"Name: [0-9]+.[0-9]+.[0-9]+.[0-9]+") dalllist1 = re.search(pattern1, in_str) print(dalllist1.group())

re.match

用这个来匹配密码很好,用户设置密码的时候必须有数字和大小写之类的。

在这里插入图片描述

powershell
import re while True: pwd = input("input your password\r\n") if re.match(re.compile("^[a-z]{8,16}$"), pwd) == None: print("no pass") else: print("password is ok")

密码强度:https://www.huaweicloud.com/articles/e43ea3c29dfbebc830af0e0b69b71ce3.html

re.split

powershell
import re text = """Ross McFluff: 834.345.1254 155 Elm Street ... ... Ronald Heathmore: 892.345.3428 436 Finley Avenue ... Frank Burger: 925.541.7625 662 South Dogwood Way ... ... ... Heather Albrecht: 548.326.4584 919 Park Place""" entries = re.split("\n+", text) print([re.split(":? ", entry, 3) for entry in entries])

一些别的

[]

匹配方括号里的所有字符的集合。集合set的意味在里面。

比如[34]就是匹配3或者匹配4。

比如[A-Za-z] 就是匹配所有的大写字母或者小写字母。

比如[0-9] 就是匹配所有的数字。

^

如果放到 [ ] 里面,就表示这个集合里能匹配的东西都不是想匹配的。

比如[^heo]就表示匹配除了这三个字母集合外的所有字符集合。

如果放到 [ ] 外面,就表示匹配一个行开始。

比如^[heo]就表示匹配某一个新行,新行以三个字母的某一个字母开头。

要匹配 ^ 字符本身,请使用 \^

$

匹配行结尾。这符号很特殊。是一个零长度字符的匹配。

.

匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \.

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!