gpt4 book ai didi

python - 捕获 if 条件中的正则表达式

转载 作者:行者123 更新时间:2023-11-30 22:21:42 24 4
gpt4 key购买 nike

我想直接在 if 条件中捕获正则表达式的匹配。我知道这在 PHP 中是可能的,但我不知道如何以 Python 的方式做到这一点。所以我运行了两次,它一点也不性感......

str = 'Test string 178-126-587-0 with a match'
if re.findall(r'[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]', str) != []:
match = re.findall(r'[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]', str)[0]

最佳答案

在 Python 中使用条件构造时无法进行内联变量赋值,您需要利用临时变量。在您的情况下, re.search 会执行,因为您无论如何都会获取第一个元素并且没有捕获的组:

match_ = re.search(r'[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]', str_)
if match_:
match = match_.group()
<小时/>

关于你原来的例子,空列表在Python中是错误的,所以:

if not some_list:
# Do stuffs

就可以了。

关于python - 捕获 if 条件中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48550856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com