擅长:python、mysql、java
<p>您可以将regex模式构建为:</p>
<pre><code>pattern = r"\bif\b\s*\(.*?\b" + re.escape(variablename) + r"\b"
</code></pre>
<p>这将查找小写的单词“if”,然后是任意空格,然后是左括号,然后是任意字符,然后是您的搜索词,它的开头和结尾在单词边界处。你知道吗</p>
<p>所以如果变量名是工作环境流索引,则<code>re.findall(pattern, textfile)</code>将匹配以下行:</p>
<pre><code>if(blabla & WORK.env_flow_ind == "a")
if (WORK.env_flow_id == "b")
if(WORK.env_flow_id == "b")
if( WORK.env_flow_id == "b")
</code></pre>
<p>这些不匹配:</p>
<pre><code>if (WORK.env_bla == "c")
if (WORK.env_flow_id2 == "d")
</code></pre>