Как отмечалось в комментариях, наиболее важной функцией, которую вы пропустили, является привязка начала строки (^
), и вам не следует использовать .*
, так как это также будет соответствовать непустому пространству, которое вы хотитеизбегать.
Вы можете получить совпадение либо с ^\s*(\t | \t)\s*
, либо с ^(\t+ | +\t)\s*
.Второй вариант будет более эффективным.
В зависимости от вашей среды вам может потребоваться добавить модификатор m
(или эквивалентный), чтобы ^
соответствовал началу строки (вместо начала).всего ввода).