正则表达式使用方法
1、这里选择解释器,JUPYTER NOTEBOOK,新建一个PY文档。
2、import re
要使用正则表达式,首先要引入re模块。
3、sample1 = "fewnluikfn2lk3nf23lf"
pattern = re.compile(r'2')
a = pattern.finditer(sample1)
for aa in a:
print(aa)
首先设置我们要找到东西,比如"ui",如果用finditer,匹配成功,可以把位置告知。
4、sample1 = "fewnluikfn2lk3nf23lf"
pattern = re.compile(r'.')
a = pattern.finditer(sample1)
for aa in a:
print(aa)
如果我们用英语句号的话,会返回所有,句号代表任何字符
5、sample1 = "fewnluikfn2.lk3nf23lf"
pattern = re.compile(r'\.')
a = pattern.finditer(sample1)
for aa in a:
print(aa)
如果想要真正的句号,可以用\来注释,这样就能找到。
6、sample1 = "fewnluikfn2.lk3nf23lf"
pattern = re.compile(r'\d')
a = pattern.finditer(sample1)
for aa in a:
print(aa)
如果要找到数字可以用\d,找到非数字就用\D。
7、sample1 = "fewnluikfn2._lk3nf23lf"
pattern = re.compile(r'\w')
a = pattern.finditer(sample1)
for aa in a:
print(aa)
要找到字母、数字和下横线就用\w,如果不是就用\W。
8、sample1 = "fewn sa ad fds "
pattern = re.compile(r'\s')
a = pattern.finditer(sample1)
for aa in a:
print(aa)
要找到空格等就用\s,如果不是就用\S。
9、sample1 = "fewn sa ad fds "
pattern = re.compile(r'^few')
a = pattern.finditer(sample1)
for aa in a:
print(aa)
要找到是否以什么为开头就要用^,相对的要找结尾就要用$。
10、sample1 = "fewnluikfn2._lk3nf23lf"
pattern = re.compile(r'[l2]')
a = pattern.finditer(sample1)
for aa in a:
print(aa)
如果要定制寻找的内容,可以用[],一个中括号只匹配一个字符。
11、sample2 = "1234-56679-342343"
pattern = re.compile(r'\d{3}')
a = pattern.finditer(sample2)
for aa in a:
print(aa)
如果不想重复输入,那么可以用大括号表示要重复的次数。
12、sample2 = "1234-56679-342343"
pattern = re.compile(r'\d{3,7}')
a = pattern.finditer(sample2)
for aa in a:
print(aa)
如果不知道要重复多少次,可以定义范围。
13、sample2 = "1234-56679-342343"
pattern = re.compile(r'\d*')
a = pattern.finditer(sample2)
for aa in a:
print(aa)
*表示0个或者更多个。
14、sample2 = "1234-56679-342343"
pattern = re.compile(r'\d+')
a = pattern.finditer(sample2)
for aa in a:
print(aa)
+表示1个或者更多个。
15、sample2 = "1234-56679-342343"
pattern = re.compile(r'\d?')
a = pattern.finditer(sample2)
for aa in a:
print(aa)
?表示1个或者没有。
16、sample2 = "1234-56679-342343"
pattern = re.compile(r'(\d{2}|\d{3})')
a = pattern.finditer(sample2)
for aa in a:
print(aa)
如果要用或者,那么可以用|。