この正規表現<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
ます。