使用正则表达式拆分函数python在未被整数包围时进行拆分

时间:2018-02-12 13:49:31

标签: python regex string split

例如,我有一个包含以下内容的字符串

!git status

我希望将其分解为"。" &安培; " "以这样一种方式,我得到一个整体的数字,休息一切都被拆分。

Input:    
blah 3.16591128 blah.something blah. blah blah.3 3.blah

我知道如何拆分"。"以及" "使用

Output:    
3.16591128, blah, something, blah, blah, blah, 3, blah, 3, blah

请帮助我。

1 个答案:

答案 0 :(得分:2)

符合您要求的正则表达式

r'(?:(?<!\d(?=\.\d))\.|\s)+'

请参阅online regex demo

它匹配一个或多个连续重复(由于+量化的非捕获组(?:...)+):

  • (?<!\d(?=\.\d))\. - 一个点(\.)前面没有数字,后跟一个.和另一个数字(由于内部为负前瞻(?=\.\d)积极的外观)
  • | - 或
  • \s - 一个空白。