2017-10-28 29 views
0

我有如下字符串:如何映射一个字符串内幕不包含数字的正则表达式报价

  • “记录一个”,“领域”:“随机ABC”,“申请B”:” random abc“,”filed c“:”123“
  • ”record two“,”field a“:”random abc“,”filed b“:”random ab c“,”filed c“:”abc “

如何使用正则表达式从不包含任何数字的归档c中提取值?我试过这样的:

r"\"filed c\"\:\"([^\"\d]*)" 

但它不工作。谢谢。

+0

'filed'不是'field'。 –

+0

如果有任何答案不符合你的要求,请考虑选择正确的答案。 1的声誉足以做到这一点。我提醒你这一点,因为新移民经常忘记这样做。请参阅[当某人回答我的问题时该怎么办?](https://stackoverflow.com/help/someone-answers) – Kanak

回答

0

说你有,

records = [ 
    '"record one","field a":"random a b c","filed b":"random a b c","filed c":"123"', 
    '"record two","field a":"random a b c","filed b":"random a b c","filed c":"abc"', 
    '"record ...","field a":"random a b c","filed b":"random a b c","filed c":"ab12c"', 
    '"record ...","field a":"random a b c","filed b":"random a b c","filed c":""', 
    '"record ...","field a":"random a b c","filed b":"random a b c","filed c":"12abc"', 
    '"record nth","field a":"random a b c","filed b":"random a b c","filed c":"Xyz"', 
] 

什么做

import re 
rex = '"filed c":"([^\d]*)"' 
does_not_contain_any_number = [] 
for record in records: 
    q = re.compile(rex, re.DOTALL).findall(record) 
    if len(''.join(q)): 
     does_not_contain_any_number += q 


print(does_not_contain_any_number) 
#['abc', 'Xyz'] 
相关问题