在字符串中查找字符串模式

2024-04-19 19:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,我有一个字符串:

line = "Hello my name is {{ name }} and I am {{ age }} years old."

如何从line中提取字符串模式{{ string }}?你知道吗

结果应该是['name', 'age']

任何帮助都将不胜感激,谢谢。你知道吗


Tags: and字符串namehelloagestringismy
1条回答
网友
1楼 · 发布于 2024-04-19 19:27:47

您可以使用^{}

>>> 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
}}     # }}

如果您想了解更多信息,以上使用的所有Regex语法都将在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']
>>>

相关问题 更多 >