我必须编写一个 python 函数,它获取一行代码作为输入,如果该行包含三元运算符(并计算它们!),则返回 true,否则返回 false。我写了几个版本的正则表达式,在这个网站https://regexr.com/上运行良好,但例如在 Google Colab 上,它们都不起作用。
def ternaryOp(line):
found_operator=re.findall(r'(((=|==|<|>|<=|>=|!=)[\s\t]*)?[\s\t]*.+[\s\t]*\?[\s\t]*((.+:.*)|(.*:.+)))',line)
if found_operator:
print(len(found_operator))
print(found_operator)
return True
else:
return False
ternaryOp('category=age<18?child:adult')
预期结果:
1
[('category=age<18?child:adult')]
True
实际结果:
6
[('category=age<18?child:adult', '', '', 'child:adult', 'child:adult', '')]
True
墨色风雨
波斯汪
相关分类