假设我有这个:
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 *