1

2 つの基準ProfileBuildDate. 両方、1 つ、またはまったく結果が見つからず、できるだけ多くの情報が返される可能性をカバーしたいと思います。これが私が書いた方法ですが、もっとPythonicな方法があるのではないかと思っていますか?

    p = re.search(r'Profile\t+(\w+)',s)
    d = re.search(r'BuildDate\t+([A-z0-9-]+)',s)

    # Return whatever you can find. 
    if p is None and d is None:
        return (None, None)
    elif p is None:
        return (None, d.group(1))
    elif d is None:
        return (p.group(1), None)
    else:
        return (p.group(1),d.group(1))
4

1 に答える 1

3
p = re.search(r'Profile\t+(\w+)',s)
d = re.search(r'BuildDate\t+([A-z0-9-]+)',s)

return (p.group(1) if p is not None else None,
        d.group(1) if d is not None else None)

また、このように:

return (p and p.group(1), d and d.group(1))

これは冗長ではありませんが、もう少しあいまいです。

于 2013-02-22T17:55:45.653 に答える