我可以使用python进行更好的正则表达式搜索吗?

时间:2018-03-18 18:09:19

标签: python regex python-3.x

我试图在大文本文件中找到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位数?

如果输入字符串太大/太长,我怎么能更好地测试?

0 个答案:

没有答案