回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在做我的正式语言作业,在尝试使用<code>regex.split(param)</code>处理Python Regex时遇到了一些麻烦</p>
<p>我有以下文字:</p>
<pre><code>{q0,q1,q2,q3},{a,b},q0,{q1,q3}
</code></pre>
<p>必须拆分为:</p>
<pre><code>["q0,q1,q2,q3", "a,b", "q0", "q1,q3"]
</code></pre>
<p>它总是以逗号分隔,并且包含字母数字值,可能以字母或数字开头。你知道吗</p>
<p>为了实现上述分离,我创建了这段非常长的代码,处理<code>String.join()</code>和<code>Array.split()</code>:</p>
<pre><code>[x for x in ' '.join(' '.join(' '.join(args.split(',{')).split('}')).split('{')).split(' ') if x != '']
</code></pre>
<p>我用REGEX尝试了以下方法,但根本不起作用:</p>
<pre><code>re.compile("(,{)|}|{|(},)")
</code></pre>
<p>它还给我:</p>
<pre><code>['', None, None, 'q0,q1,q2,q3', None, None, '', ',{', None, 'a,b', None, None, ',q0', ',{', None, 'q1,q3', None, None, '']
</code></pre>
<p>处理所有这些伪值很容易,但是为什么它在数组中保留<code>,{</code>之类的内容呢?你知道吗</p>