如何分离输入的一部分并将其转换为变量?
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 字符的 运行,而不仅仅是一个字符
-
?
字符是一个特殊字符,它改变前面的 *
的含义。现在,不再匹配尽可能多的字符(“贪婪”),这会导致 .*
在 }
之后继续并匹配整个字符串的其余部分,.*?
匹配尽可能少的字符(“惰性”),所以它只匹配下一个 }
个字符
我正在开发一个简单的程序,我想知道如何分离输入的一部分并将分离的部分变成一个变量。
例如: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 字符的 运行,而不仅仅是一个字符 -
?
字符是一个特殊字符,它改变前面的*
的含义。现在,不再匹配尽可能多的字符(“贪婪”),这会导致.*
在}
之后继续并匹配整个字符串的其余部分,.*?
匹配尽可能少的字符(“惰性”),所以它只匹配下一个}
个字符