2017-10-28 24 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'] 
相關問題