回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我们知道<code>anchors</code>、<code>word boundaries</code>和{<cd3>}在某个位置匹配,而不是匹配字符。<br/>
是否可以使用regex(特别是python)通过前面的一种方法拆分字符串?在</p>
<p>例如,考虑以下字符串:</p>
<pre><code>"ThisisAtestForchEck,Match IngwithPosition."
</code></pre>
<p>因此,我需要以下结果(以大写字母开头但不以空格开头的子字符串):</p>
^{pr2}$
<p>如果我分组,我得到:</p>
<pre><code>>>> re.split(r'([A-Z])',s)
['', 'T', 'hisis', 'A', 'test', 'F', 'orch', 'E', 'ck,', 'M', 'atchingwith', 'P', 'osition.']
</code></pre>
<p>这是环顾四周的结果:</p>
<pre><code>>>> re.split(r'(?<=[A-Z])',s)
['ThisisAtestForchEck,MatchingwithPosition.']
>>> re.split(r'((?<=[A-Z]))',s)
['ThisisAtestForchEck,MatchingwithPosition.']
>>> re.split(r'((?<=[A-Z])?)',s)
['ThisisAtestForchEck,MatchingwithPosition.']
</code></pre>
<p>请注意,如果要按以大写字母开头且前面有空格的子字符串拆分,例如:</p>
<pre><code>['Thisis', 'Atest', 'Forch' ,'Eck,' ,'Match ', Ingwith' ,'Position.']
</code></pre>
<p>我可以使用<code>re.findall</code>,即:</p>
<pre><code>>>> re.findall(r'([A-Z][^A-Z]*)',s)
['Thisis', 'Atest', 'Forch', 'Eck,', 'Match ', 'Ingwith', 'Position.']
</code></pre>
<p>但是第一个例子呢:有没有可能用<code>re.findall</code>来解决它?在</p>