私はジンジャーテンプレートで表示しようとしているドキュメントがあります。このような文字列を置き換えようとしていますnegxxx string xxxneg
は<span class="SomeCssClass_neg_xxx"> string </span>
になる必要があります。問題は一致するグループ番号\1
を使用していることです。私は複数のマッチがあるだけでなく、1.いくつかの助けが必要であることを知っているpython regexすべての出現を一致した文字列に置き換えます。
import re
StringIn = 'negxxx data1 xxxneg out of span negxxx data2 xxxneg negzzz data1 zzzneg out of span negzzz data2 zzzneg'
StringIn = re.sub(r"negxxx(.*)xxxneg", r"<span class='neg_xxx'>\1</span>" , StringIn)
StringIn = re.sub(r"negzzz(.*)zzzneg", r"<span class='neg_zzz'>\1</span>" , StringIn)
print StringIn
私が手:私は必要なものを、正しくない
<span class='neg_xxx'> data1 xxxneg out of span negxxx data2 </span> <span class='neg_zzz'> data1 zzzneg out of span negzzz data2 </span>
は次のとおりです。
<span class='neg_xxx'> data1 </span> out of span <span class='neg_xxx'> data2 </span><span class='neg_zzz'> data1 </span> out of span <span class='neg_zzz'> data2 </span>
:一度に1つの文字を食べた後、残りのパターンに一致するようにしようと怠惰な数量詞、
.*?
を、使用してください。 ☻ –私は野生の推測をさせてください。怠惰な '? '量子で試してください。 '。*'はあまりにも多く一致しています。 '。*?'を使用してください。 –