私はこのような複数の文字列を持っています。 product: green apples price: 2.0 country: france company: somecompany
です。いくつかの文字列ではフィールドが少なくなる場合があります。たとえば、会社名や国などが見つからないものがあります。私は値を抽出し、製品、価格、国、会社をスキップしようとしています。私は各文字列の左側から始まる複数の正規表現を作成しようとしました。Pythonの文字列から複数の値を正規表現で抽出する
blah="product: green apples price: 2.0 country: france company: somecompany"
product_reg = re.compile(r'.*?\bproduct\b:(.*).*')
product_reg_strip = re.compile(r'(.*?)\s[a-z]:?')
product_full=re.findall(product_reg, blah)
prod=re.find(product_reg_strip, str(product_full))
print prod
price_reg = re.compile(r'.*?\bprice\b:(.*).*')
price_reg_strip = re.compile(r'(.*?)\s[a-z]:?')
price_full=re.findall(price_reg, blah)
price=re.find(price_reg_strip, str(price_full))
print price
しかし、これは機能しません。この正規表現をもっと正気にするために私は何をすべきですか?
価格は各文字列の唯一の数値ですか? –
出力をどのようにしたいですか?あなたの例では、 'green apples 2.0 france somecompany'ですか? – tdelaney