我正在编写一个简单的程序,我想知道如何分离输入的一部分,并将分离的部分转换为变量。
例如:START {chrome.exe}
。
基本上,我想把这个字符串放在那些花括号之间,然后把它变成一个变量。
谢谢,
对于这种操作,最好使用正则表达式。Python有一个用于使用正则表达式的内置模块,称为re
。您可以使用它的findall
函数来查找与特定模式匹配的所有字符串,然后简单地获取结果列表中的第一个项(无论如何,该列表只有一个项(。
以下是代码的样子:
import re
inp = input()
var = re.findall(r"{(.*?)}", inp)
print(var)
给定输入:
START {chrome.exe}
该输出:
chrome.exe
以下是regex如何工作的解释:
{
和}
字符与文字字符{
和}
匹配(
和)
字符是将标记组合在一起的特殊字符.
字符是一个特殊字符,它与除换行符之外的任何字符相匹配*
字符是一个特殊字符,这意味着最后一个令牌可以匹配其自身的任何数量(而不仅仅是1(。这意味着.
现在将匹配多个非换行字符,而不仅仅是一个字符?
字符是一个特殊的字符,它改变了前一个*
的含义。现在,.*?
不匹配尽可能多的字符("贪婪"(,这将导致.*
在}
之后继续,并匹配字符串的整个其余部分,而是匹配尽可能少的字符("懒惰"(,因此它只匹配下一个}
字符