Python言語でテキストの大きな塊から複数の行テキストを抽出する必要がある

私はマルチテキストで大きなテキストを持っています。 私は{{bookと}}の間にテキストを入れる必要があります
私は正規表現を使用して疲れた 文字列の中に問題があります。 私は {{book(。+)}を試してみました。
私は {{book(。+)}} しようとしましたが、これはエラーを出します

re.search("{{book .*?}", pagetext).group()

私はいろいろな表現を試しました…問題はどのように正規表現で次の行に行くのですか…

lot of other text {{book series |name = Twilight |image = [[File:The twilight saga hardback.jpg|260px|]] |language = English<!-- Do not link, per WP: OVERLINK --> |genre = [[Romance (novel)|Romance]], [[fantasy literature|fantasy]], [[young-adult fiction]] |publisher = [[Little, Brown and Company]] |pub_date = 2005–2008 |media_type = Print }} 
ベストアンサー

が改行文字を取得できるようにするには、 re.DOTALL
フラグを使用する必要があります。また、Pythonの正規表現の構文では特殊文字なので、中括弧をエスケープする必要があります。

re.search(r"{{book .*?}}", pagetext, re.DOTALL)

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です