使用正则表达式,如何分割字符串并将其分隔符保留在返回的结果中?我正在尝试将包含数字和字符串的字符串除以一组字母,然后再加上任何包含“。”的数值。但是它似乎无法正常工作。
下面是我的测试字符串,即时消息使用的是python 2.7,它没有产生预期的ID。
s = 'M160.394,83.962L121.5,52L86.31,73.378L58,104.917L89.75,C136.667L158.542,136.667L185,110.208L160.394,83.962Z'
parts = filter(None,re.split('([MLHVCSQTAZ][^MLHVCSQTAZ]+)',s,re.IGNORECASE))
print len(parts),parts
>>> 3 ['M160.394,83.962','L121.5,52','L86.31,83.962Z']
我希望它能给我
>>> 10 ['M160.394,73.378','L58,104.917','L89.75,','C136.667','L158.542,136.667','L185,110.208','L160.394,'Z']
它应该输出一个字符串列表,其中每个字符串都以一个字母开头,该字符串可以在原始正则表达式MLHVCSQTAZ
中找到