python逗号表达式_Python正则表达式拆分逗号或空格分隔字符串

作为padraiccunningham上一个问题的解决方案的改进版本,regex ^{}将捕获所有字段。在

第一部分((["']).*?\1(?

如果第一部分不匹配(即没有用引号括起来的字符串),第二部分([^\r\n\t\f ,]+)匹配所有不是空格或逗号的内容。所以它将忽略您的分隔符,但匹配所有其他内容。在import re

rows = [""" 5,'THISMORE"THAN4','/,',4.2560,0.34000E-01 """,

# ^ added quote character here

""" 5,'TH\\'IS','/,',4.2560,0.34000E-01 """,

# ^ added escaped quote here

"""5 , 'THIS' , '/,' , 4.2560 , 0.34000E-01 """,

""" '5' 'THIS' '/,' '4.2560' '0.34000E-01' """,

""" 5,'THIS','this','/,',4.2560,0.34000E-01 """,

""" 5,'THIS','/,',4.2560,0.34000E-01 """]

pattern = re.compile(r'(["\']).*?\1(?

result = [[m.group(0).strip('"\'') for m in pattern.finditer(row)]

for row in rows]

import pprint

pprint.pprint(result)

印刷品:

^{pr2}$

仍然存在问题的是,在逗号分隔的行中包含空格的未加引号的字段。因此'hello there, "I actually", have, 5, fields'

将导致:['hello','there','I actually','have','5','fields']

你的资料里有这个吗?在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值