Función de división de Perl: use caracteres de repetición como delimitador
Quiero dividir una cadena usando letras repetidas como delimitador, por ejemplo,"123aaaa23a3"
debe dividirse como('123', '23a3')
mientras"123abc4"
debe dejarse sin cambios.
Entonces intenté esto:
@s = split /([[:alpha:]])\1+/, '123aaaa23a3';
Pero esto vuelve'123', 'a', '23a3'
, que no es lo que quería. Ahora sé que esto es porque el último'a'
en'aaaa'
es capturado por las paréntesis y así preservado porsplit()
. Pero de todos modos, no puedo agregar algo como?:
ya que[[:alpha:]]
debe ser capturado para referencia posterior. ¿Cómo puedo resolver esta situación?