<p>对于您只有2或3个字符串的场景,您可以使用</p>
<pre><code>^(\S+(?:\s+\S+(?=\s+\S+))?)
</code></pre>
<p>见<a href="https://regex101.com/r/WGtRun/3" rel="nofollow noreferrer">regex demo</a></p>
<p><strong>详细信息</strong></p>
<ul>
<li><code>^</code>-字符串的开头</li>
<li><code>(\S+(?:\s+\S+(?=\s+\S+))?)</code>-捕获组1:
<ul>
<li><code>\S+</code>-一个或多个非空白字符</li>
<li><code>(?:\s+\S+(?=\s+\S+))?</code>-一个可选的
<ul>
<li><code>\s+</code>-1+空格</li>
<li><code>\S+</code>-1+非空白</li>
<li><code>(?=\s+\S+)</code>-紧接着是1+空格和1+非空格</李>
</ul>
</li>
</ul>
</li>
</ul>
<p>以下是一些其他正则表达式选项:</p>
<ul>
<li><strong>除最后一个词外的所有词:<code>^(\S+(?:\s+\S+)*)\s+\S+$</code>(<a href="https://regex101.com/r/WGtRun/4" rel="nofollow noreferrer">demo</a>)/<code>^(.*\S)\s+\S+$</code>(<a href="https://regex101.com/r/WGtRun/6/" rel="nofollow noreferrer">demo</a>)/<code>^(.*?)\s+\S+$</code>(<a href="https://regex101.com/r/WGtRun/5" rel="nofollow noreferrer">demo</a>)</li>
<li><strong>获取两个单词字符串中的第一个单词和三个单词字符串中的两个第一个单词,并且在其他字符串中不匹配</strong>:<code>^(\S+(?=\s+\S+$)|\S+\s+\S+(?=\s+\S+$))</code>(<a href="https://regex101.com/r/WGtRun/7" rel="nofollow noreferrer">demo</a>)</li>
</ul>