この正規表現<li>.*endは次のテキストでは機能しません。何が間違っていますか?
文章
<li>asdsadasd
adssadasdasdasdas
asdasdasdasdasdad
adsasdasdasdasd
dasdadadsadadasdasdasdasda
end
誰かが正規表現を書いてすべてのテキストを取得するのを手伝ってくれますか?
この正規表現<li>.*endは次のテキストでは機能しません。何が間違っていますか?
文章
<li>asdsadasd
adssadasdasdasdas
asdasdasdasdasdad
adsasdasdasdasd
dasdadadsadadasdasdasdasda
end
誰かが正規表現を書いてすべてのテキストを取得するのを手伝ってくれますか?
デフォルトでは、.改行に一致しません。DOTALLフラグを渡す必要があります...
regex = re.compile('<li>.*end', re.DOTALL)
または同等に、
regex = re.compile('<li>.*end(?S)')
編集:re.MULTILINEフラグではありません- と の動作を変更$します^。
次から複数行オプションを選択する必要がありますre。
import re
expr = re.comile("<li>.*end", re.M)
コメントとディートリッヒの回答を考慮して、 と の動作を同じにする必要がある場合は、 の$代わり^に を使用re.DOTALLしre.M/re.MULTILINEます。