Python正则表达式,用于删除字符串前后的空格

时间:2014-01-25 12:35:40

标签: python regex string

我正在构建一个小的python程序,我找不到正确的正则表达式。让我解释一下自己:

我有下一个字符串

bar = '    Type of network         : Infrastructure'

使用de代码:

foo = re.findall(r'(\w+(\s\w+)+)\s+:\s+(\w+)', bar)
print(foo)

我获得:

[('Type of network', ' network', 'Infrastructure')]

我想:

[('Type of network', 'Infrastructure')]

我知道我可以通过':'分割字符串并修剪空白,但我更喜欢正则表达式。

非常感谢

3 个答案:

答案 0 :(得分:2)

另一种不使用正则表达式[ x.strip() for x in bar.split(':')]

的解决方案

输出:['Type of network', 'Infrastructure']

答案 1 :(得分:0)

也许你想使用非捕获括号:

(\w+(?:\s\w+)+)\s+:\s+(\w+)

答案 2 :(得分:0)

下一个怎么样?

foo = re.findall(r'\s*(.*?)(?:\s*:\s*)(.+)(?<!\s)', bar)

它还处理如下字符串:

'    Type of network         : Infra structure  '