正则表达式很神奇啊
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
|
# -*- coding:utf-8 -*- import re def print_match_res(res): """打印匹配对象内容""" if res is not None : print (res.group()) else : print ( None ) # 两种匹配方式: pattern = "[A-Z][a-z]+" # 一、使用re模块函数进行匹配 res = re.match(pattern, "Tom is a good boy" ) # 匹配,返回匹配对象 print ( type (res)) print (res.group()) # 二、使用预编译后的正则表达式对象的方法进行匹配 obj_pattern = re. compile (pattern) # 预编译,返回正则表达式对象 print ( type (obj_pattern)) res = obj_pattern.match( "Tom is a good boy" ) # 匹配,返回匹配对象 print ( type (res)) print (res.group()) # 匹配对象的group()和groups()方法 pattern = "\d{3}-\d{5}" obj_pattern = re. compile (pattern) res = obj_pattern.search( "家庭电话:000-88886" ) print (res.group()) # 返回整个匹配或特定子组 print (res.groups()) # 返回包含全部子组的元组 # match():从起始部分开始匹配,如果成功,返回匹配对象;失败,返回None。只匹配一次 pattern = "my" # res=re.compile(pattern).match("my name is li") res = re.match(pattern, "my name is li" ) print_match_res(res) # search(): 从任意位置开始匹配,如果成功,返回匹配对象;失败,返回None。只匹配一次 pattern = "my" # res=re.compile(pattern).search("it's my dog") res = re.search(pattern, "my name is li" ) print_match_res(res) # 查找全部 # findall(),finditer() res = re.findall(r "th\w+" , "This and that" ,re.I) print (res) res = re.finditer(r "th\w+" , "This and that" ,re.I) print (res) print ( next (res).group(), next (res).group()) # 替换 # sub(),subn() res = re.sub( "funny" , "fool" , "You are so funny" ) print (res) res = re.subn( "funny" , "fool" , "You are so funny" ) print (res) # 分割 # splite() res = re.split( "\." , "Mr.Smith" ) print (res) print ( "#" * 50 ) # 择一匹配符号 a|b pattern = "I|You|She" res = re. compile (pattern,flags = re.IGNORECASE).match( "i love you" ) print_match_res(res) res = re. compile (pattern,flags = re.I).search( "who love you" ) print_match_res(res) # 匹配任意单个字符 . pattern = "w{3,}\..+\.com" res = re.match(pattern, "wwww.google.com/index.html" ,re.I) print_match_res(res) # 字符集 [abc] [a-z0-9] pattern = "[A-Za-z0-9_]*\." print_match_res(res) # 特殊字符 \d \w \s \b \\ # 重复 + ? * {N,} {N,M} # 分组 (...) pattern = "\w+@(\w{1,10}\.)*([a-z]*)" res = re.match(pattern, "li@gmail.com" ) print_match_res(res) res = re.match(pattern, "li@qq.vip.org" ) print_match_res(res) print (res.group( 0 ),res.group( 1 ),res.group( 2 ),sep = "\t" ) print (res.groups()) # 匹配字符串的起始和结尾,单词边界 ^a z$ \A \Z \b \B pattern = r "^the" # pattern=r"\Athe" res = re.search(pattern, "The end of the world" ) print_match_res(res) res = re.search(pattern, "they smile" ) print_match_res(res) pattern = r "cry$" # pattern=r"cry\Z" res = re.search(pattern, "they cry" ) print_match_res(res) res = re.search(r "\bthe" , "bit the dog" ) print_match_res(res) res = re.search(r "\Bhe" , "bit the dog" ) print_match_res(res) |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/topleeyap/article/details/78846099