擅长:python、mysql、java
<p>似乎在应用正则表达式之前,<code>nltk</code>right会去除字符串中的空白。你知道吗</p>
<p>参见<a href="http://www.nltk.org/_modules/nltk/util.html" rel="nofollow">the source code</a>(或者您可以<code>import inspect</code>和<code>print inspect.get_source(nltk.re_show)</code>)</p>
<pre><code>def re_show(regexp, string, left="{", right="}"):
"""docstring here I stripped it for brevity"""
print(re.compile(regexp, re.M).sub(left + r"\g<0>" + right, string.rstrip()))
</code></pre>
<p>特别是,请参见<code>string.rstrip()</code>,它去除所有尾随空格。你知道吗</p>
<p>例如,如果确保<code>phillip</code>字符串右侧没有空格:</p>
<pre><code>nltk.re_show('\w+|[^\w]+', phillip + '.')
# {#}{awesome}{ .}
</code></pre>
<p>不知道为什么<code>nltk</code>会这样做,这对我来说似乎是个bug。。。你知道吗</p>