Quiero convertir, por ejemplo, Hello_1_.Bye to Hello[1].Bye Tenga en cuenta que [1], es decir, entre paréntesis contiene solo dígitos
Empecé con algo como esto que no funcionó..
filter { mutate { gsub => ["String", "*_\D_.*", "*[\D].*"] //Note that String here could be Hello_1_.Bye, Hello_2_.Bye etc. } }pero obteniendo este error
:exception=>#<RegexpError: target of repeat operator is not specified: /*_\D_*/>Aprecio tu ayuda
Sugiero usar esta versión:
filter { mutate { gsub => ["Hello_1_.Bye", "([^_]+)_(\d+)_(\.\w+)", "\1[\2]\3"] } }Aquí hay una demostración de expresiones regulares que muestra que el reemplazo está funcionando.