re用法
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
| import re
def re_all(regex): log = 'Thu Mar 14 19:27:38 1991::jvfcho@iwrptlqmyok.edu::668950058-6-11\n' print(log) print("") print("===返回匹配的字符串(re.search().group())===") print(re.search(regex,log).group()) print("") print("===列表返回匹配的所有子串(re.findall())===") print(re.findall(regex,log)) print("")
print("===返回匹配开始的位置(re.search().start())===") print(re.search(regex,log).start()) print("")
print("===返回匹配结束的位置(re.search().end())===") print(re.search(regex,log).end()) print("")
print("===返回匹配位置(re.search().span())===") print(re.search(regex,log).span()) print("")
|
匹配
1 2
| regex = '(Mon|Tue|Wed|Thu|Fri|Sat|Sun)' re_all(regex)
|
Thu Mar 14 19:27:38 1991::jvfcho@iwrptlqmyok.edu::668950058-6-11
===返回匹配的字符串(re.search().group())===
Thu
===列表返回匹配的所有子串(re.findall())===
['Thu']
===返回匹配开始的位置(re.search().start())===
0
===返回匹配结束的位置(re.search().end())===
3
===返回匹配位置(re.search().span())===
(0, 3)
1 2
| regex = '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}).' re_all(regex)
|
Thu Mar 14 19:27:38 1991::jvfcho@iwrptlqmyok.edu::668950058-6-11
===返回匹配的字符串(re.search().group())===
19:27:38
===列表返回匹配的所有子串(re.findall())===
[('19', '27', '38')]
===返回匹配开始的位置(re.search().start())===
11
===返回匹配结束的位置(re.search().end())===
20
===返回匹配位置(re.search().span())===
(11, 20)
1 2
| regex = '([a-z]*)@([a-z]*).(com|edu|net|org|gov)' re_all(regex)
|
Thu Mar 14 19:27:38 1991::jvfcho@iwrptlqmyok.edu::668950058-6-11
===返回匹配的字符串(re.search().group())===
jvfcho@iwrptlqmyok.edu
===列表返回匹配的所有子串(re.findall())===
[('jvfcho', 'iwrptlqmyok', 'edu')]
===返回匹配开始的位置(re.search().start())===
26
===返回匹配结束的位置(re.search().end())===
48
===返回匹配位置(re.search().span())===
(26, 48)
参考:
- 陈乾博客
- qiuri2008博客