¿Es posible escribir una expresión regular que coincida con un patrón particular y luego se reemplaza con una parte del patrón?

Estoy trabajando con algunos archivos de texto delimitados por comas. El archivo consta de aproximadamente 400 filas y 94 columnas, todas delimitadas por comas y con comillas dobles:

"H","9","YES","NO"....

Mi objetivo es dividir el archivo en sus respectivas columnas utilizando el delimitador de coma. Desafortunadamente, hay varios campos dentro de las filas que tienen el siguiente formato:

"4,5"  or "2,5,8"

Estos campos están corrompiendo la estructura de columnas del archivo cuando analiza el archivo en la coma. Entonces, lo que me gustaría hacer es usar expresiones regulares para hacer algún tipo de búsqueda y reemplazo para que pueda analizar con éxito mi archivo. Por ejemplo:

 "H","9","YES","NO","4,5","Y","N"  would become this:


"H","9","YES","NO","4|5","Y","N"

para que cuando analice el archivo obtenga siete columnas en lugar de ocho.

Yo escribi unexpresión regular que maneja "2,5" o "2,3,4"", pero no estoy seguro de cómo manejar la parte de reemplazo.

¿Es posible lograr estas expresiones regulares?

Nota: estoy usando expresiones regulares perl.

Respuestas a la pregunta(2)

Su respuesta a la pregunta