我有这个字符串,例如:
line = "Hello my name is {{ name }} and I am {{ age }} years old."
如何从{{ string }}
中提取字符串模式line
?
结果应为['name', 'age']
非常感谢任何帮助,谢谢。
答案 0 :(得分:0)
您可以使用re.findall
:
>>> from re import findall
>>> line = "Hello my name is {{ name }} and I am {{ age }} years old."
>>> findall("{{\s(.*?)\s}}", line)
['name', 'age']
>>>
以下是正则表达式模式的细分:
{{ # {{
\s # A space
(.*?) # A capture group of zero or more characters matched non-greedily
\s # A space
}} # }}
如果您想了解更多信息,请解释上面使用的所有正则表达式语法here。
请注意,如果空白的长度可能不同,则可能需要将\s
替换为\s*
,这将匹配零个或多个空格:
>>> from re import findall
>>> line = "Hello my name is {{name }} and I am {{ age }} years old."
>>> findall("{{\s*(.*?)\s*}}", line)
['name', 'age']
>>>