如何通过使用re模块通过识别标记的结构来分割字符串

问题描述 投票:-1回答:1

我知道,当我想在Python和split()方法中使用re模块时,我需要在要断开字符串的位置提供模式(即在空白处,我会使用类似[C0 ])。

但是对于更复杂的情况,我有一个带有如下所示模式的字符串:

pattern = re.compile('\\s+')

我应该如何编写正则表达式以在每次重复时进行拆分?我尝试使用与字符串完全匹配的表达式的取反,直到重复为止,如建议的'letters<space>letters<space>numbers<space>...repeat...' 一样,但是Python抛出错误。有什么建议吗?

python regex
1个回答
0
投票

提供示例字符串:

here

代替您使用text = 'aaaaa 12345 aaaaa bbbbb 12345 bbbbb ccccc 12345 ccccc' ,也许您可​​以使用re.split()

re.findall()

如果仍然要使用re.findall(r'\w+\s+\w+\s+\w+', text) # output: ['asdasdasd 1232131 sdadasd', 'dadas 12312312 sdasdas', 'sdasda 312231 sadasdas'] ,您可以将其放入一个组,然后使用生成器来清理空间:

re.split()
© www.soinside.com 2019 - 2024. All rights reserved.