一个正则

wklken 2012-11-05 03:57:54

字符串:
"1=a,2=b,3=,,e,4=^A,5=,"

re.findall(r"这里", "1=a,2=b,3=,,e,4=^A,5=,")

目的是,逗号分隔,取k=value的值,直到最后一个逗号

要求返回:
1=a
2=b
3=,,e
4=^A
5=,

试了很多,均达不到要求
求助啊

thx!
...全文
239 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bugs2k 2012-11-07
  • 打赏
  • 举报
回复
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import re
>>> text = "1=a,2=b,3=,,e,4=^A,5=,"
>>> mat = re.findall('(\w+=.*?),', text)
>>> print mat
['1=a', '2=b', '3=', '4=^A', '5=']
>>>
千树之影 2012-11-06
  • 打赏
  • 举报
回复

import re
str = "1=a,2=b,3=,,e,4=^A,5=,"
L = re.findall( r"\d.*?(?=,\d)|\d.*,$",str )
print L
结果: ['1=a', '2=b', '3=,,e', '4=^A', '5=,']
angel_su 2012-11-06
  • 打赏
  • 举报
回复
分割嘛试试re.split... >>> import re >>> re.split(r'(?<=\w),(?=\d)', "1=a,2=b,3=,,e,4=^A,5=,") ['1=a', '2=b', '3=,,e', '4=^A', '5=,'] >>>
zjs100901 2012-11-05
  • 打赏
  • 举报
回复
str = "1=a,2=b,3=,,e,4=^A,5=,"
L = re.findall( "\d+=\D*", str )
print L
输出: ['1=a,', '2=b,', '3=,,e,', '4=^A,', '5=,'] 这样行不?

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧