Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python正则表达式搜索中返回任何匹配项的更好方法?_Python_Regex_Search - Fatal编程技术网

在python正则表达式搜索中返回任何匹配项的更好方法?

在python正则表达式搜索中返回任何匹配项的更好方法?,python,regex,search,Python,Regex,Search,我正在运行一个简单的正则表达式搜索两个条件Profile和BuildDate。 我想涵盖这样一种可能性,即我将同时找到两个结果、一个结果或没有结果,并返回尽可能多的信息。我是这样写的,但我想知道是否有一种更像蟒蛇的方式 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 N

我正在运行一个简单的正则表达式搜索两个条件
Profile
BuildDate
。 我想涵盖这样一种可能性,即我将同时找到两个结果、一个结果或没有结果,并返回尽可能多的信息。我是这样写的,但我想知道是否有一种更像蟒蛇的方式

    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))
也是这样:

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

这不太冗长,但有点晦涩。

非常优雅,正是我想要的。谢谢
return (p and p.group(1), d and d.group(1))