【发布时间】:2014-08-24 06:10:31
【问题描述】:
我对下面最好描述的正则表达式有一点问题:
原字符串为:
{reply_to={message_type=login}|login_id=pippo|user_description=pippo=pluto|version=2013.2.1|utc_offset=7200|login_date=2014-07-03|login_time=09:43:02|error=0}
这是我想要得到的:
{reply_to:{message_type:login}|login_id:pippo|user_description:pippo=pluto|version:2013.2.1|utc_offset:7200|login_date:2014-07-03|login_time:09:43:02|error:0}
如果键的值中也有“=”,我无法替换它。
我尝试做的是匹配和替换分组一组字符:
re.sub(r'([\{\}\|])=([\{\}\|])',r'\1":"\2',modOutput)
显然它不起作用!有什么想法吗?
【问题讨论】:
-
您能否描述替换将做什么?很难比较这两个字符串并找出所有差异。
-
为什么去掉版本前的
|符号? -
对不起,我在代码中犯了一些错误。现在是我需要的。总而言之,我需要在 }{| 之间替换拳头“=”字符。字符。
-
您的代码替换 {or}or| 后跟一个 = 符号,然后是 {or}or|与 {or}or|:{or}or|
-
@Avinash Raj exat 我需要做什么
标签: python regex char grouping substitution