擅长:python、mysql、java
<p>以下代码将创建一个dict,其中keys是person,value是消息列表:</p>
<pre><code>from collections import defaultdict
import re
PATTERN = '''
\s* # Any amount of space
(dylankid|senpai) # Capture person
:\s # Colon and single space
(.*?) # Capture everything, non-greedy
(?=\sdylankid:|\ssenpai:|$) # Until we find following person or end of string
'''
s = " dylankid: *random words* senpai: *random words* dylankid: *random words* senpai: *random words*"
res = defaultdict(list)
for person, message in re.findall(PATTERN, s, re.VERBOSE):
res[person].append(message)
print res['dylankid']
print res['senpai']
</code></pre>
<p>它将产生以下输出:</p>
^{pr2}$