Выглядит глупо, но поскольку этот вопрос помечен /sed
, вот способ сделать это с помощью sed, как вы упомянули:)
alias date='date +"%Y.%m.%d.%H.%M.%S" | sed "s/^0*//g; s/\.0*/./g"'
Шаблон должен совпадать со всем именем, а не только с префиксом имени.
Ay
не соответствует A*(xx)
, потому что он не состоит из A
, за которым следует любое количество xx
. y
не соответствует шаблону. Ay
соответствует A*(xx)y
и A*(xx)?
и A*(xx)*
.
Точно так же Axxx
не совпадает с A*(xx)
, поскольку оно не состоит из A
, за которым следует какое-либо количество xx
. Axxx
действительно соответствует A*(x)
(A
, за которым следуют три раза x
), A*(xx)x
(A
, затем один раз xx
, затем x
), A*(xx)?
, A*(xx)*
и т. д.
Doesn't Axxx also contain exactly one occurrence of xx?
Соответствует -, но также имеет дополнительный x
, который не соответствует шаблону A*(xx)
. Например, это будет соответствовать A*(xx)?
.
Furthermore, why is Ay not printed since it has 0 occurences of xx?
Опять же, потому что в шаблоне нет ничего, что соответствовало бы завершающему y
.
Я предполагаю, что все сводится к тому, что глобусы являются совпадениями целой строки .