擅长:python、mysql、java
<p>我没有运行此命令来检查语法,但可能类似于:</p>
<pre><code>regex = "if (\(name == \"\w+\"\)( or )?)+\n\sreturn (\"[\w\s]+\")"
</code></pre>
<p>说明:
<code>\w</code>等同于<code>[a-zA-Z0-9_]</code>(即字母数字或下划线)
<code>\s</code>是空白</p>
<p>因此,我们匹配<code>if</code>,然后尽可能多地(至少一次)匹配组与<code>(name == "some_string")</code>和可选的<code>or</code>,然后匹配换行符,然后是空格,直到返回语句,当我们匹配组的返回值时</p>
<p>对于这个正则表达式提供的每个匹配,您应该得到这两个组,一个包含所有可能的有效输入,另一个包含输出</p>
<p>希望这能让你找到一个完整的解决方案</p>
<p>文档链接:<a href="https://docs.python.org/3/howto/regex.html" rel="nofollow noreferrer">https://docs.python.org/3/howto/regex.html</a></p>