<p>我有一根绳子</p>
<pre class="lang-py prettyprint-override"><code>s = 'count_EVENT_GENRE in [1,2,3,4,5]'
#I have to capture only the field 'count_EVENT_GENRE'
field = re.split(r'[(==)(>=)(<=)(in)(like)]', s)[0].strip()
#o/p is 'cou'
# for s = 'sum_EVENT_GENRE in [1,2,3,4,5]' o/p = 'sum_EVENT_GENRE'
</code></pre>
<p>这很好</p>
<p>我怀疑的是<code>(in)(like)</code>中的任何字符,它在该字符处分裂字符串<code>s</code>,并给我第一个片段(在“cou”之后,它会找到一个匹配的字符i:e<code>n</code>)。任何包含<code>(in)(like)</code>中任何字符的字符串都会发生这种情况。你知道吗</p>
<p>例如:<code>'percentage_AMOUNT' o/p = 'p'</code></p>
<p>因为它在<code>p</code>之后找到一个匹配的字符作为“e”。你知道吗</p>
<p>所以我想要一些建议,当分裂发生/发生时,如何把(in)(like)当作单词而不是字符。你知道吗</p>
<p>请建议一个语法。你知道吗</p>
<p>如果您只需要字符串的第一个单词,那么应该这样做:</p>
<pre><code>import re
s = 'count_EVENT_GENRE in [1,2,3,4,5]'
field = re.split(r'\W', s)[0]
# count_EVENT_GENRE
</code></pre>