擅长:python、mysql、java
<p>删除0个或多个不是斜杠(<code>[^/]*</code>)的字符,直到出现<code>Input</code>后跟斜杠的点之后:</p>
<pre><code>import re
x = "opt/custom/building/BuildingInput/address/BuildingUnderwritingInput/Name"
print(re.sub(r'[^/]*Input/', r'' , x.rstrip()))
</code></pre>
<p>如果路径的最后一个元素也可能包含<code>Input</code>字(不带尾随斜杠),则可以改用此选项:</p>
<pre><code>x = "address/BuildingUnderwritingInput"
print(re.sub(r'[^/]*Input(/|$)', r'' , x.rstrip()))
</code></pre>
<p>这里<code>/</code>或字符串的结尾(<code>$</code>)在<code>Input</code>之后匹配。但是,如果最后一个单词匹配,就会留下一个斜杠。如果这是一个问题,您可以分别删除它:</p>
<pre><code>x = "address/BuildingUnderwritingInput"
x = re.sub(r'[^/]*Input(/|$)', r'' , x.rstrip())
print(re.sub(r'/$', r'' , x))
</code></pre>