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 № 1Si 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 |
".