擅长:python、mysql、java
<p>嗯,这里有一个发电机解决方案,似乎对我很有效。如果您愿意,还可以提供不同的打开和关闭标记。在</p>
<pre><code>def get_tags(s, open_delim ='{{',
close_delim ='}}' ):
while True:
# Search for the next two delimiters in the source text
start = s.find(open_delim)
end = s.find(close_delim)
# We found a non-empty match
if -1 < start < end:
# Skip the length of the open delimiter
start += len(open_delim)
# Spit out the tag
yield s[start:end].strip()
# Truncate string to start from last match
s = s[end+len(close_delim):]
else:
return
</code></pre>
<p>针对目标输入运行,如下所示:</p>
^{pr2}$
<p>编辑:它也适用于您的新示例:)。在我明显快速的测试中,它似乎也以合理的方式处理格式错误的标记,尽管我不能保证它的健壮性!在</p>