擅长:python、mysql、java
<p>试试这个模式:<code>^[\dA-Z_]+ ([^\(:]+)</code>。在</p>
<p>它在beging处以<code>[\dA-Z_]+</code>开头(注意锚定<code>^</code>),然后是空格。
现在,开始捕获组,直到遇到一个不需要的字符:<code>[^\(:]</code>。
您可以添加更多“不需要的”字符来改变正则表达式,使之与之不同。在</p>
<p>第一个捕捉组就是你想要的。在</p>
<p><a href="https://regex101.com/r/cSW4qE/3" rel="nofollow noreferrer">Demo</a></p>
<p>您可以尝试此模式在第三次匹配后删除空格:<code>^[\dA-Z_]+ ([\w ]+)(?=(:| \())</code>。<a href="https://regex101.com/r/cSW4qE/4" rel="nofollow noreferrer">See demo.</a></p>