擅长:python、mysql、java
<p>我会用正则表达式:</p>
<pre><code>import re
data = '''[name]bill billy [email]bill.billy@hotmail.com [dob]01.01.81
[name]mark hilly [email]mark.hilly@hotmail.com [dob]02.11.80
[name]gill silly [email]gill.silly@hotmail.com [dob]03.12.79'''
group_matcher = re.compile(r'\[(.*?)\]([^\[]+)')
for line in data.split('\n'):
o = dict(group_matcher.findall(line))
print o['email']
</code></pre>
<ul>
<li><code>\[</code>的字面意思是<code>[</code>。在</li>
<li><code>(.*?)</code>是一个非贪婪的捕获组。它“扩展”以捕获文本。在</li>
<li><code>\]</code>的字面意思是{<cd5>}</li>
<li><code>(</code>是捕获组的开始。在</li>
<li><code>[^\[]</code>只匹配<code>[</code>。在</li>
<li><code>+</code>重复最后一个模式任意次数。在</li>
<li><code>)</code>关闭捕获组。在</li>
</ul>