如何使用RegEx(Python 3.5)提取某个字符串

时间:2016-07-20 09:06:29

标签: python regex python-3.x

我正在使用Python来抓取网站中的一些数据。我完成了抓取部分,但我需要提取我需要的数据。

以下是我得到的结果示例:

{
  'thisversionrun': 'Mon Jul 18 2016 10:36:16 GMT+0000 (UTC)',
  'lastrunstatus': 'success',
  'name': 'Rudolph1',
  'version': 3,
  'count': 30,
  'newdata': True,
  'thisversionstatus': 'success',
  'results': {
    'collection1': [
      {
        'property1': "Ano ang 'Marginal Thinking' (Ekonomiks)"
      },
      {
        'property1': 'Saan matatagpuan ang caspian sea ano ang kahalagahan nito'
      },
      {
        'property1': 'ano-ano ang dalawang uri ng paghahambing ibigay ang kahulugan at ibigay ang 2halimbawa'
      },
      {
         'property1': 'mga halimbawa ng pantangi at pambalana tao'
      },
      {
        'property1': '10 halimbawa ng palaisipan pero hindi bugtong?'
      },
      {
        'property1': 'Ano ang kahinaan at kalakasan ni Psyche at Cupid?'
      },
      {
        'property1': 'Ano ang kahulugan ng incentives'
      },
      {
        'property1': 'Ano-ano ang limang tema ng heograpiya at ang kahulugan nito?'
      },
      {
        'property1': 'ano ang mga kultura ng mga taga-singapore'
      },
      {
        'property1': 'Buod ng akdang psyche at cupid sa tagalog'
      },
      {
        'property1': 'Ano ang ibig sabihin ng cañao, anito, bathala, pantas at sugo? :)'
      },
      {
        'property1': 'Ang Paraan ng Pamumuhay sa Singapore'
      },
      {
        'property1': 'Ano ang lahing austronesian?'
      },
      {
        'property1': 'What are usually made of wax?'
      },
      {
        'property1': 'ano ang kultura at tradisyon ng singapore?'
      },
      {
        'property1': 'Pwede magbigay ng 10 halimbawa ng tugmang bayan'
      },
      {
        'property1': 'What takes place when you inhale and exhale?'
      },
      {
        'property1': 'Anu-ano ang mga halimbawa ng karunungang-bayan'
      },
      {
        'property1': 'anu ano ang saklaw ng heograpiya'
      },
      {
        'property1': 'Who hired daedalus?'
      },
      {
        'property1': 'Kahalagahan ng ekonomiks bilang mag aaral, parte ng pamilya at sa lipunan'
      },
      {
        'property1': 'Ano ang pang abay at 5 halimbawa ng pang abay'
      },
      {
        'property1': 'What does each part of the bunch of grapes model represent in relation to the breathing system?'
      },
      {
        'property1': 'kahulugan ng alaala ng isang lasing na suntok sa bibig'
      },
      {
        'property1': 'Ano ang kahulugan ng makabanghay'
      },
      {
        'property1': 'Ano ano ang mga tuntunin at kayarian ng talata. ?'
      },
      {
        'property1': 'Ano ang kahulugan ng heograpiya'
      },
      {
        'property1': 'halimbawa ng recipe para sa matiwasay na lipunan'
      },
      {
        'property1': 'How will you describe the pathway of oxygen in the breathing system?'
      },
      {
        'property1': 'Anu-ano ang mga halimbawa o uri ng karunungang bayan'
      }
    ]
  }
}

我需要提取与我的RegEx匹配的所有数据,这意味着:{'property1': and '}]}}

之间的所有数据

粗体文字是我需要的数据样本

{'property1':' Anu-ano ang mga halimbawa o uri ng karunungang bayan '}]}}

2 个答案:

答案 0 :(得分:3)

试试这个:

data = re.findall(r'(?is)property1\':\s*\'(.*?)\'\}',str(input_text))
print(data)

答案 1 :(得分:1)

试试这个:

# encoding: utf-8
import re
scrappedString = """{'thisversionrun': 'Mon Jul 18 2016 10:36:16 GMT+0000 (UTC)', 'lastrunstatus': 'success', 'name': 'Rudolph1', 'version': 3, 'count': 30, 'newdata': True, 'thisversionstatus': 'success', 'results': {'collection1': [{'property1': "Ano ang 'Marginal Thinking' (Ekonomiks)"}, {'property1': 'Saan matatagpuan ang caspian sea ano ang kahalagahan nito'}, {'property1': 'ano-ano ang dalawang uri ng paghahambing ibigay ang kahulugan at ibigay ang 2halimbawa'}, {'property1': 'mga halimbawa ng pantangi at pambalana tao'}, {'property1': '10 halimbawa ng palaisipan pero hindi bugtong?'}, {'property1': 'Ano ang kahinaan at kalakasan ni Psyche at Cupid?'}, {'property1': 'Ano ang kahulugan ng incentives'}, {'property1': 'Ano-ano ang limang tema ng heograpiya at ang kahulugan nito?'}, {'property1': 'ano ang mga kultura ng mga taga-singapore'}, {'property1': 'Buod ng akdang psyche at cupid sa tagalog'}, {'property1': 'Ano ang ibig sabihin ng cañao, anito, bathala, pantas at sugo? :)'}, {'property1': 'Ang Paraan ng Pamumuhay sa Singapore'}, {'property1': 'Ano ang lahing austronesian?'}, {'property1': 'What are usually made of wax?'}, {'property1': 'ano ang kultura at tradisyon ng singapore?'}, {'property1': 'Pwede magbigay ng 10 halimbawa ng tugmang bayan'}, {'property1': 'What takes place when you inhale and exhale?'}, {'property1': 'Anu-ano ang mga halimbawa ng karunungang-bayan'}, {'property1': 'anu ano ang saklaw ng heograpiya'}, {'property1': 'Who hired daedalus?'}, {'property1': 'Kahalagahan ng ekonomiks bilang mag aaral, parte ng pamilya at sa lipunan'}, {'property1': 'Ano ang pang abay at 5 halimbawa ng pang abay'}, {'property1': 'What does each part of the bunch of grapes model represent in relation to the breathing system?'}, {'property1': 'kahulugan ng alaala ng isang lasing na suntok sa bibig'}, {'property1': 'Ano ang kahulugan ng makabanghay'}, {'property1': 'Ano ano ang mga tuntunin at kayarian ng talata. ?'}, {'property1': 'Ano ang kahulugan ng heograpiya'}, {'property1': 'halimbawa ng recipe para sa matiwasay na lipunan'}, {'property1': 'How will you describe the pathway of oxygen in the breathing system?'}, {'property1': 'Anu-ano ang mga halimbawa o uri ng karunungang bayan'}]}}
"""
regex = """'property1': ('|")([\w\d\ñ\.\-\,\?\'\(\) ]+)("|')"""
searchedItems = re.findall(pattern=regex, string=scrappedString)
for item in searchedItems:
    print item[1]