¿Qué {// (\% ([KF1] |) \ {* \} | \% [Bbkf]) # $ {(S %%) cadena}} $ significa

StackOverflow https://stackoverflow.com/questions/2267155

  •  20-09-2019
  •  | 
  •  

Pregunta

Me encontrado esto en el símbolo del adam2 zsh, y no tengo ni idea de lo que significa. Al parecer, se cuenta la longitud de la "cadena", pero ¿cómo lo hace que se me escapa.

${#${(S%%)string//(\%([KF1]|)\{*\}|\%[Bbkf])}}
¿Fue útil?

Solución

Busqué en Google "zsh pronta expresión regular", y encontré este . Dice $ # cuenta la longitud de los contenidos. Ese vínculo también tiene más información que la guía zsh del usuario que encontré.

Otros consejos

Su patrón cuenta la longitud de la cadena, excluyendo en algún formato de caracteres de estilo ANSI.

Aproximadamente:

  • ${# } - longitud

  • ${ } - anidado

  • (S%%) - subseries de búsqueda a partir de finales

  • // - sustituto a nivel mundial (en este caso eliminar, puesto que no hay barra posterior)

  • ( ) - grupo de captura

  • \% - signo de porcentaje literal

  • [KF1] - lista de caracteres: K = comienzan color de fondo, F = comienzan color de primer plano

  • [Bbkf] - lista de caracteres: B = comenzará negrita, b = fin negrita, fondo k = fin, f = extremo plano

Y entonces me pierdo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top