re库中的正则表达式和空格

时间:2016-12-11 20:34:19

标签: python regex

假设我有这个:

import re
s = '     Hello,     world     '
re.sub(r'\S+', 'a', s)        

它让我

'   a    a    '

如预期的那样(贪婪地使用至少一个\ S(任何unicode非空白)字符的最长子字符串,但

re.sub(r'\S*', 'a', s)       

让我

'a a a a a a a a a a a a'

这对我来说似乎很奇怪。所有那些空格子串都去了哪里?这是怎么回事?

E:我知道它每次匹配一个空字符串时都会输入字符串'a',但是我无法理解它为什么不单独留下空格子字符串,因为\ S *不应该与它们匹配,而不是\ s *

0 个答案:

没有答案