抽出したい段落を含む VHDL ファイルがあります。一般に、次のようになります。
Declaration 1.
Some codes.
(Following are paragraphs I want to extract)
case (state) is
case body 1
end case;
Declaration 2.
Some codes.
(Following are paragraphs I want to extract)
case (state) is
case body 2
end case;
というわけで「ケース本体1」と「ケース本体2」が欲しいです。「case (state) is」および「end case;」一致するかどうかは関係ありません。私は次のようないくつかの方法を試しました:
f1=open('/home/liuduo/Desktop/f2.vhd')
data=f1.read()
pattern=re.compile('case (state) is[\s\S]*?end case;')
reg=pattern.search(data).group()
また
pattern=re.compile('(?<=\bcase\b).*?(?=\bend\b)')
reg=pattern.search(data).group()
また
pattern=re.compile('.*?case(.*?)end.*?')
reg=pattern.search(data).group()
Stackflow の多くの例の助けを借りて、他の多くの方法を使用します (すべてに感謝します!)。しかし、何も機能していないようです。
私が得たエラーは、「AttributeError: 'NoneType' object has no attribute 'group'」で、何も一致していないことを示しています。私は Python を初めて使用し (3 日...)、JAVA のバックグラウンドが弱いため、REexp は本当に私を混乱させました。これで私を助けてくれる人がいるのだろうか?
どうもありがとう!
PSこれが以前に尋ねられた場合、何時間も答えを探した後のStackflowに関する最初の質問です。PLZ助けて。