擅长:python、mysql、java
<p>当使用正则表达式时,<code>group(0)</code>应该包含整个匹配的字符串。所以在你的情况下:</p>
<pre><code>code.group(0)
</code></pre>
<p>应该包含整个令牌。因此,如果您将代码修改为如下所示:</p>
<pre><code>lookup = defaultdict(list)
wholelookup = defaultdict(list)
mydata = open('summaryfile.txt')
for line in csv.reader(mydata, delimiter='\t'):
code = re.match('[a-z](\d+)[a-z]', line[-1], re.I)
if code:
lookup[line[-2]].append(code.group(1))
wholelookup[line[-2]].append(code.group(0))
</code></pre>
<p>然后您可以像这样访问整个令牌:</p>
<pre><code>wholelookup['Q14591']
</code></pre>
<p>或者像这样的子令牌:</p>
<pre><code>lookup['Q14591']
</code></pre>