2017-06-08 14 views
0

私のようにフォーマットされた文字列を持っているが、次のとおりです。値の数が不明で正規表現:正規表現マッチを重複するにはどうすればいいですか?

'0 = text defining value 1 = text2 2 = text3, text3 (text3) 3 = text4'

を。私は各数字の記述のペアの0と 'テキスト定義値'を一致させる正規表現を取得しようとしています。今、私は私の正規表現として

'([0-9]{1,2}) ?= ?(.*?) ?[0-9]{0,2} ?[=$]'

を持っているが、これは専用のフィールド内の他のすべての値に一致します。どのようにそれらのすべてに一致するようにするための任意の提案?

おかげ

答えて

0

あなたは次のパーティションがどこにあるかを把握するために先読みを使用することができます。

import re 

pattern = re.compile(r"(\d+)\s+=\s+(.*?)(?=\s+\d+\s+|$)") 

your_text = "0 = text defining value 1 = text2 2 = text3, text3 (text3) 3 = text4" 

pairs = pattern.findall(your_text) 
# [('0', 'text defining value'), 
# ('1', 'text2'), 
# ('2', 'text3, text3 (text3)'), 
# ('3', 'text4')] 

それはあなたが探しているものなら、あなたの質問は少し暗いです。

+0

ありがとうございます!申し訳ありませんが、私は本当に正規表現には新しく、実際にはすべての命名法を正しく学んでいません。これは、私が必要なもののために働く、ありがとう! –