-1

この正規表現<li>.*endは次のテキストでは機能しません。何が間違っていますか?

文章

    <li>asdsadasd
adssadasdasdasdas
asdasdasdasdasdad
adsasdasdasdasd
dasdadadsadadasdasdasdasda
end

誰かが正規表現を書いてすべてのテキストを取得するのを手伝ってくれますか?

4

2 に答える 2

4

デフォルトでは、.改行に一致しません。DOTALLフラグを渡す必要があります...

regex = re.compile('<li>.*end', re.DOTALL)

または同等に、

regex = re.compile('<li>.*end(?S)')

編集:re.MULTILINEフラグではありません- と の動作を変更$します^

于 2013-01-19T18:15:40.067 に答える
2

次から複数行オプションを選択する必要がありますre

import re
expr = re.comile("<li>.*end", re.M)

コメントとディートリッヒの回答を考慮して、 と の動作を同じにする必要がある場合は、 の$代わり^に を使用re.DOTALLre.M/re.MULTILINEます。

于 2013-01-19T18:15:13.307 に答える