私はPythonで正規表現を使用してBibTexから文字列を取得しようとしています。私はタイトルの文字列を、つかむしたいpython regex複数の行にまたがる一致を見つける
a = '''title = {The Origin ({S},
{Se}, and {Te})- {TiO$_2$} Photocatalysts},
year = {2010},
volume = {114},'''
:ここに私の文字列の一部である
pattern = re.compile('title\s*=\s*{(.*|\n?)},\s*\n', re.DOTALL|re.I)
pattern.findall(a)
しかし、それだけで:
The Origin ({S},
{Se}, and {Te})- {TiO$_2$} Photocatalysts
私は現在、このコードを持っています私に教えてください:
['The Origin ({S},\n {Se}, and {Te})- {TiO$_2$} Photocatalysts},\n year = {2010']
year
の情報がないタイトル文字列全体? 何度も、year
はtitle
の直後にありません。だから私は使用することはできません。
pattern = re.compile('title\s*=\s*{(.*|\n?)},\s*\n.*year', re.DOTALL|re.I)
pattern.findall(a)
http://stackoverflow.com/questions/587345/python-regular-expression-matching-a-multiline-block-of-text –
私はそれを試みましたが、まだ私の問題を解決できませんでした。 –