标签:com 开始 正则表达式 print 字符 cal 表达 分离 log
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
def match(self, string, pos=0, endpos=-1):
"""Matches zero | more characters at the beginning of the string.
import re
num = re.compile(r‘(\d{4})-(\d{7})‘)
result = num.match(‘my number is 0310-5561921‘)
print(result)
print(‘#‘*30)
num_1 = re.compile(r‘\w*(\d{4})-(\d{7})‘)
result = num_1.match(‘mynumberis0310-5561921‘)
print(result.groups())
print(result.group(1))
print(result.group(2))
运行:
C:\Python27\python.exe D:/Python/modules/Re.py
None
##############################
(‘0310‘, ‘5561921‘)
0310
5561921
re.search 扫描整个字符串并返回第一个成功的匹配。
num = re.compile(r‘(\d{4})-(\d{7})‘)
result_match = num.match(_str)
result_search = num.search(_str)
print(‘mache : {0}‘.format(result_match))
print(‘search : {0}‘.format(result_search.group()))
运行:
C:\Python27\python.exe D:/Python/modules/Re.py
mache : None
search : 0310-5561921
_str = ‘mynumberis0310-5561921‘
num_1 = re.compile(r‘\w*(\d{4})-(\d{7})‘)
result_match = num_1.match(_str)
result_search = num_1.search(_str)
# print(‘match.groups:{0}‘.format(result_match.groups()))
print(‘match.group(1):{0}‘.format(result_match.group(1)))
print(‘match.group(2):{0}‘.format(result_match.group(2)))
print(‘search.groups():{0}‘.format(result_search.groups()))
print(‘search.group(1):{0}‘.format(result_search.group(1)))
print(‘search.group(2):{0}‘.format(result_search.group(2)))
运行:
match.group(1):0310
match.group(2):5561921
search.groups():(‘0310‘, ‘5561921‘)
search.group(1):0310
search.group(2):5561921
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
找到 re 匹配的所有子串,并把它们作为一个列表返回。这个匹配是从左到右有序地返回。如果无匹配,返回空列
_str = ‘ha1ha222ha3ha4ha5‘
num = re.compile(r‘\d‘)
print(num.findall(_str))
运行:
[‘1‘, ‘2‘, ‘2‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘]
找到 re 匹配的所有子串,并把它们作为一个迭代器返回。这个匹配是从左到右有序地返回。如果无匹配,返回空列表
_str = ‘ha1ha222ha3ha4ha5‘
num = re.compile(r‘\d‘)
print(num.finditer(_str))
for i in num.finditer(_str):
print(i)
print(i.group())
运行:
<callable-iterator object at 0x00000000037C6DD8>
<_sre.SRE_Match object at 0x00000000037236B0>
1
<_sre.SRE_Match object at 0x0000000003723718>
2
<_sre.SRE_Match object at 0x00000000037236B0>
2
<_sre.SRE_Match object at 0x0000000003723718>
2
<_sre.SRE_Match object at 0x00000000037236B0>
3
<_sre.SRE_Match object at 0x0000000003723718>
4
<_sre.SRE_Match object at 0x00000000037236B0>
5
通过正则表达式将字符串分离。如果用括号将正则表达式括起来,那么匹配的字符串也会被列入到list中返回。maxsplit是分离的次数,maxsplit=1分离一次,默认为0,不限制次数。
_str = ‘ha1ha222ha3ha4ha5‘
result_split = re.split(r‘\d*‘, _str)
print(result_split)
运行:
[‘ha‘, ‘ha‘, ‘ha‘, ‘ha‘, ‘ha‘, ‘‘]
标签:com 开始 正则表达式 print 字符 cal 表达 分离 log
原文地址:http://www.cnblogs.com/lijunjiang2015/p/7843531.html