没有空格的字符串需要根据模式进行分割

时间:2019-03-20 11:32:52

标签: python regex

我有一个字符串

number234-456-132
abc235-456-456
bhjklsds:456-133-456

我想将字符串拆分为

number 234-456-132
abc 235-456-456
bhjklsds: 456-133-456

与数字连接的文本没有模式。

2 个答案:

答案 0 :(得分:1)

尝试此正则表达式-> '([^0-9]*)(.*)'

>>> import re
>>> def foo(text):
...  result = re.search('([^0-9]*)(.*)', text)
...  return " ".join(result.groups())
... 
>>> foo("number234-456-132")
'number 234-456-132'
>>> foo("abc235-456-456")
'abc 235-456-456'
>>> foo("bhjklsds:456-133-456")
'bhjklsds: 456-133-456'
>>> 

答案 1 :(得分:1)

我将尝试显式地匹配末尾的三组数字,并在第一个字符串中包括其他内容:

for string in strings:
    match = re.match("(.*)(\d{3}-\d{3}-\d{3})$", string)
    print([match[1], match[2]])