Я не уверен, что правильно понял ваше требование, но вы можете попробовать с отрицательным Lookahead:
(\s)\1*(?!\1)\s+
Вам подходит что-то подобное?
Вотпример Python:
regex = r"(\s)\1*(?!\1)\s+"
inputs = ["\t\t \v", "\f", "\t\t\t", " ", "\f\f\f", "\f \f"]
for s in inputs:
if re.match(regex, s):
print "Found a match."
else:
print ("No matches!")
Вывод:
Found a match.
No matches!
No matches!
No matches!
No matches!
Found a match.
Я не уверен, почему вы ожидаете, что \f
будет совпадением, если
не.Если это не было ошибкой, не могли бы вы уточнить?