如何分离输入的一部分并将其转换为变量?

How do I separate a part of an input and convert it into a variable?

我正在开发一个简单的程序,我想知道如何分离输入的一部分并将分离的部分变成一个变量。

例如:START {chrome.exe}.

基本上我想把那些大括号之间的字符串变成一个变量。

谢谢,

对于这种操作,最好使用regular expressions。 Python 有一个使用正则表达式的内置模块,称为 re。您可以使用它的 findall 函数来查找所有匹配特定模式的字符串,然后简单地获取结果列表中的第一项(无论如何只有一项)。


代码如下所示:

import re

inp = input()
var = re.findall(r"{(.*?)}", inp)

print(var)

给定输入:

START {chrome.exe}

这输出:

chrome.exe

这里解释了正则表达式的工作原理:

  • {}字符匹配文字字符{}
  • () 字符是将标记组合在一起的特殊字符
  • .字符是一个特殊字符,可以匹配除换行符以外的任何字符
  • * 字符是一个特殊字符,这意味着最后一个标记可以匹配任意数量的自身(不仅仅是 1)。这意味着 . 现在将匹配多个 non-newline 字符的 运行,而不仅仅是一个字符
  • ? 字符是一个特殊字符,它改变前面的 * 的含义。现在,不再匹配尽可能多的字符(“贪婪”),这会导致 .*} 之后继续并匹配整个字符串的其余部分,.*? 匹配尽可能少的字符(“惰性”),所以它只匹配下一个 } 个字符