问题描述
例如,我有一个包含以下内容的字符串
Input:
blah 3.16591128 blah.something blah. blah blah.3 3.blah
我想将其与“。”分开。 &“”,这样我就可以得到一个整体,剩下的一切都可以分解。
Output:
3.16591128, blah, something, blah, blah, blah, 3, blah, 3, blah
我知道如何将两者分开。 以及使用
re.split("\.| ", str)
请帮我解决一下这个。
1楼
满足您要求的正则表达式是
r'(?:(?<!\d(?=\.\d))\.|\s)+'
参见
它匹配以下一个或多个连续重复(由于+
量化的非捕获组(?:...)+
):
-
(?<!\\d(?=\\.\\d))\\.
-点(\\.
)前面没有数字,后面有.
和另一个数字(由于在正向后部内有负向前视(?=\\.\\d)
) -
|
- 要么 -
\\s
空格。