/ / Ruby Split por parte de un Regex - ruby, regex

Ruby Split por parte de una expresión regular - ruby, regex

Tengo que escribir un analizador de argumentos, se pasaen forma de cadena, el delimitador ala {a, b, c} es una coma con un espacio después de él, pero puede escaparse con un conducto "|" antes de eso. Así que estaba pensando en escribir una expresión regular como /[^|], / dividir por, y luego eliminar todos los caracteres de escape después. Pero al usar esto, también se dividirá por el carácter antes del delimitador.

¿Cómo debo lograr lo que estoy buscando?

Respuestas

3 para la respuesta № 1

Si está en la versión 1.9 de Ruby, puede dividir /(?<!|),/.

(?<!|) es una aseveración negativa que significa "asegurar que el personaje anterior no es un |".