-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbasic_02.py
More file actions
100 lines (72 loc) · 2 KB
/
basic_02.py
File metadata and controls
100 lines (72 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
"""
python基础知识02
正则表达式
"""
# 如何表示空格
# '\s'
# 如何表示字母
# '\w'
# 如何表示数字
# '\d'
# 如何表示特殊字符'-'
# '\-'
# 如何表示任意字符
# '.'
#############
# 如何表示0到5和a到y的数字范围
# [0-5][a-y]
# 如何表示2个当中的任意一个
# a|bc
#############
# 如何表示0或1个
# 'a?' 可表示为空,也可表示为a
# 如何表示3到5个字符
# 'a{3,5}'
# 如何表示1-n个字符
# 'a+',可表示a,也可表示aaaaaa
# 如何表示0-n个字符
# 'a*' 可表示空,也可表示aaaaaa
#############
# 如何表示任意多的字符
# .*
# 如何表示
# .*?
import re
# 如何从一个字符串的开头位置,匹配相应的字符内容
if re.match(r'ab{3,5}','abbbb3'):
print("success")
else:
print('fail!')
# 如何从一个字符串的任意位置,进行匹配相应的字符内容
if re.search(r'ab','cccab'):
print("成功找到了")
else:
print("fail")
# 如何对一个字符串,进行拆分(同时还可以去除空格)
str1 = "lin guoyang"
str2 = str1.split(' ')
str3 = re.split(r'\s+',str1)
str4 = str1.replace(' ','')
print(str4)
# 如何过滤掉或替换掉用户输入的不规范的字符,比如;,!?等
str1 = 'lin, -guoy!ang44'
# str2 = re.split(r'[\s\,\!\;]+',str1)
str3 = re.sub(r'[\s\,\!\;]+','',str1)
str4 = str1.replace(' ','').replace('-','')
print(str4)
# 如何对一个字符串的内容,进行[分组]的提取:,比如提取出linguoyang@126.com当中的邮箱名linguoyang和邮箱地址126
str1 = '!!!linguoyang2008@gfgf.com'
obj = re.search(r'([a-z0-9]+)\@([a-z]+)\.([a-z]+)',str1)
i = 0
for i in range(0,4):
if obj.group(i):
print(obj.group(i))
else:
print('\n')
break
# 如何找到一个字符串中的所有手机号,但是match和search只会找到符合条件的第1个
str1 = "13616187656,还有一个手机号15623453345,还有123"
obj_list = re.findall(r'[0-9]{7,19}',str1)
print(obj_list)
if 1&bool(2):
print("good")