我试图在大文本文件中找到8位数字(有时间隔有空格)。
我首先测试是否先存在8位数,然后尝试列出它们。
import re
test_str = '''
123456789123
1242232
'''
def searchfor8digits(input_string):
regex = r'\d{8}|\d{4}\s\d{4}'
matches = re.finditer(regex, input_string)
for matchNum, match in enumerate(matches):
matchNum = matchNum + 1
print("Match {matchNum} was found at {start}-{end}: {match}".format(
matchNum=matchNum, match=match.group(),
start=match.start(), end=match.end()))
def contains8digits(input_string):
regex = r'\d{8}|\d{4}\s\d{4}'
matches = re.finditer(regex, input_string)
if matches:
return True
else:
return False
if __name__ == '__main__':
if contains8digits(test_str):
searchfor8digits(test_str)
有更好的方法吗?
是否有更好/更pythonic的方法来检查是否存在8位数?
如果输入字符串太大/太长,我怎么能更好地测试?