使用正则表达式从现有列添加新列

时间:2014-05-12 03:04:34

标签: regex openrefine

我正在尝试从以下数据中提取关注者数量:

  

{TruOptik':{follow_request_sent':False,profile_use_background_image':True,default_profile_image':False,id':1308292578,profile_background_image_url_https':, Verified':False,profile_text_color':333333',profile_image_url_https':, profile_sidebar_fill_color': DDEEF6',实体':{url':{urls':[{url':http://t.co/wUe1yjBgtE',indices':[0,22],expanded_url':http://truoptik.com/',display_url':truoptik。 com'}]},说明':{urls':[]}}, followers_count':294 ,profile_sidebar_border_color':000000',id_str':1308292578',profile_background_color':010A0F',listed_count' :39,状态':{contributors':无,截断':False,text':Effort仅在一个人拒绝退出后才完全释放奖励。 Napoleon Hill #TruOptik http://t.co/pJH19C6CeP',in_reply_to_status_id':无,id':464714​​440437268481L,favorite_count':0,source':web',转推':False,coordinates':None,entities':{symbols':[ ],user_mentions':[],hashtags':[{indices':[84,93],text':TruOptik'}],urls':[],media':[{expanded_url':,display_url':pic。 twitter.com/pJH19C6CeP',url':, media_url_https':, id_str':464714​​438142996480',sizes':{large':{h':194,resize':fit',w':259},small':{ h':194,调整大小':fit',w':259},中等':{h':194,调整大小':fit',w':259},拇指':{h':150,调整大小': crop',w':150}},indices':[94,116],type':photo',id':464714​​438142996480L,media_url':, in_reply_to_screen_name':None,id_str':464714​​440437268481',retweet_count':0, in_reply_to_user_id':None,favorited':False,geo':None,in_reply_to_user_id_str':None,possible_sensitive':False,lang':en',created_at':Fri May 09 10:32:11 +0000 2014',in_reply_to_status_id_str':无,放置':无},is_translation_enabled':错,你tc_offset':无,statuses_count':19327,描述':Tru Optik在2014年大数据信息创新中命名为Gartner酷新供应商',friends_count':187,location':Stamford,CT',profile_link_color':B39B00',profile_image_url ':,跟随':False,geo_enabled':False,profile_banner_url':, profile_background_image_url':, screen_name':TruOptik',lang':en',profile_background_tile':True,favourites_count':55,name':Tru Optik Data Corp ',notifications':False,url':, created_at':Wed Mar 27 18:54:41 +0000 2013',contributors_enabled':False,time_zone':None,protected':False,default_profile':False,is_translator':假}

我试过了:

value.match(/.+((?<=followers_count': ).+(?=, profile_sidebar_border)).+/)

上面的代码应该提取294,但新创建的列包含空值。我的正则表达式有什么问题吗?

1 个答案:

答案 0 :(得分:0)

value.parseJson()会返回以下错误Error: parseJson failed: Missing value at 164 [character 165 line 1]

作为一种解决方法,您可以使用拆分命令value.split("followers_count':")[1].split(',')[0]