作者jimmylin212 (JimmyG)
看板Python
標題[問題] 正規表達式比對問題
時間Wed Oct 20 12:12:01 2010
想請問一個正規表達的問題
下面這種字串
"text":
"gfsha12313fehihiosh@#$%^&*((&{":GFYGGKJGJH
", "id":"123456",...
在兩個黃色 " 中間,可以使用各種的符號,英文大小寫,數字
另外在字串後面還有其他不相干的資料
也是由英文大小寫所組成
想請問應該要怎麼利用正規表達抓出出這個字串呢?
想很久想不到方法,每次都會抓到後面的不相干的資料
謝謝了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.155.55
1F:→ holio:前後的"不相干的資料"有固定格式嗎? 10/20 12:24
2F:推 SMUGEN:兩個黃色"中間有出現一個" 這個不需要escape嗎? 10/20 13:19
3F:→ jimmylin212:中間有可能會出現 " 符號,另外後面一個就是,"id" 10/20 13:43
4F:→ jimmylin212:" 會被轉成 " 10/20 13:48
5F:→ jimmylin212:text 中間的 " 會被轉換成" ,外面的還是 " 10/20 13:51
6F:→ wxyy:先假設你的字串都是固定格是 key: value..... 10/20 21:18
7F:→ wxyy:foo = eval("{%s}" % str)['text'] # str 就是你的字串 10/20 21:19
8F:→ wxyy:foo 就是你要的了....不過我沒用到 regex..... 10/20 21:20
9F:→ jimmylin212:還是試不出來,會有一個很怪的 SYNTAX error.. 10/20 22:50
10F:→ wxyy:re.match(r'"text":"(.*)",.*', str).group(1) # str = 字串 10/20 22:58
11F:→ jimmylin212:('("text":"[\w\s!@#$%^&*)(_+-}{:{}?\;/]*")') 10/20 23:25
12F:→ jimmylin212:我用暴力破解掉了... 10/20 23:25
13F:→ jimmylin212:還是謝謝你的幫忙了! 10/20 23:35