そこには、正規表現で奇妙な「貪欲」の動作は以下のとおりです。私の検索パターンで :作るre.Sで残りの部分が収まりきらず、最初の部分の次のマッチの後でのみ適合する場合、最初の部分の正規表現をどうやって作るのですか?
r'\/begin FUNC\s+(\w*).*?\/begin DEF_VAR\s*([\w .\s]*)\s*\/end DEF_VAR.*?\/end FUNC'
「」改行を合わせる。そして、テスト文字列ビーイング:
/begin FUNC
WDHOL
/end FUNC
/begin FUNC
AMROTL
/begin DEF_VAR
KFMELO
/end DEF_VAR
/end FUNC
試合ではなく、予想される[ 'KFMELO \ nは\ T' 'AMROTL']の[ 'WDHOL'、 'KFMELO \ nは\ T']を返します。 最初の部分が再び来るとき(または '/ end FUNC'のとき)、regexpは最初の部分の試合をやめることができますか? 私は否定的な先取りを試みたが、役に立たなかった。試合はまったく何も返されないか、同じ結果とだけ時間がかかった...
'' 'ちょうどWDHOL'を'得る。*? 'マッチ' /終了FUNC (\ * w)は/ FUNC AMROTL '、奇妙な何を始めます。 – Cheney