首页 > 解决方案 > 是否可以按自定义顺序使用“输入变量”

问题描述

我是 python 和正则表达式的新手。我正在尝试进行单行正则表达式实现。在第一个输入中要检查文本,第二个输入是正则表达式模式。是否有可能在 python 中实现这一目标?

import re
print(len(re.findall(f'{input("String:")}', f'{input("Regexp:")}')))

编辑:使问题更清楚;由于表达式控制台将第一个输入作为正则表达式输入到代码中。第二个输入作为文本进行检查。我希望第一个输入用于检查文本,第二个用于正则表达式。

PS:对不起我的英语不好,谢谢大家的帮助。

标签: pythonregex

解决方案


所以你想在函数调用的同一行接受输入,但在调用函数时颠倒它们的顺序?您可以通过将它们收集到一个列表中,反转列表,然后使用 splat 运算符调用该函数来做到这一点。

print(len(re.findall(*[input("String:"), input("Regexp:")][::-1])))

没有必要使用format(),因为input()返回一个字符串。


推荐阅读