作者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