生のHTMLがあり、この[%〜as..abcd〜%]のようなブロック全体を出力文字列から削除しようとしています。 Pythonのライブラリを再利用する[%〜abcd〜%]の間にPython正規表現がコンテンツを削除できません
teststring = "Check the direction . [%~ MACRO wdwDate(date) BLOCK;
SET tmpdate = date.clone();
END ~%] Determine if both directions."
cleanM = re.compile('\[\%\~ .*? \~\%\]')
scleantext = re.sub(cleanM,'', teststring)
コードで何が間違っていますか?
デフォルトでは、 '.'は改行文字と一致しません。あなたは 're.DOTALL'フラグを使わなければなりません。 '%'、 ']'、 '〜'は特殊文字ではないので、エスケープする必要はありません。パターンのコンパイル時には、最後の行は次のようになります: 'scleantext = cleanM.sub( ''、teststring)' –
'%'、 ']'、 '〜' –