擅长:python、mysql、java
<p>您可以使用regex,但由于您有多行字符串,因此需要使用<a href="https://docs.python.org/2/library/re.html#re.DOTALL" rel="nofollow">^{<cd1>}</a>标志,并且在您的模式中,您可以使用<a href="http://www.regular-expressions.info/lookaround.html" rel="nofollow">positive look-around</a>来匹配标记之间的字符串:</p>
<pre><code>>>> print re.sub(r'(?<=<tag>)1\d+(?=</?tag>)',r'YYYYYY',s,re.DOTALL,re.MULTILINE)
textextextextext<tag>YYYYYY<tag>textextextextext
textextextextext<tag>20005992</tag>textextextextext
textextextextext<tag>YYYYYY</tag>textextextextext
textextextextext<tag>20005994</tag>textextextextext
</code></pre>
<blockquote>
<p>re.DOTALL</p>
<p>Make the '.' special character match any character at all, including a newline; without this flag, '.' will match anything except a newline.</p>
</blockquote>
<p>同样,正如@Bhargav Rao在他的回答中所做的那样,您可以使用分组来代替环顾:</p>
^{pr2}$