擅长:python、mysql、java
<p>您可以使用以下两种方法之一:</p>
<pre><code>\]\s*(AN|AV)\s*1\s*([\w\s]+?)\s*2\s*([\w\s]+?)\s*3\s*((?:(?!cui).)*)
\]\s*(AN|AV)\s*1\s*([\w\s]+?)\s*2\s*([\w\s]+?)\s*3\s*(.*?)(?=cui|$)
</code></pre>
<p>见<a href="https://regex101.com/r/kI7Tan/3" rel="nofollow noreferrer">regex demo</a></p>
<p><code>(?:(?!cui).)*</code>是一个<a href="https://stackoverflow.com/a/37343088/3832970">tempered greedy token</a>匹配任何字符、0次或多次出现(尽可能多)的字符序列,它不启动<code>cui</code>字符序列。<code>(.*?)(?=cui|$)</code>模式捕获0+个字符(换行字符除外),尽可能少,直到<code>cui</code>字符序列或字符串结尾</p>