Este hilo es muy similar a lo que quiero: Regular Expression to split on spaces unless in quotesC# - expresión regular para Separar una cadena de espacios, a menos que una comilla doble se encuentra
Pero necesito algunas reglas adicionales que no puedo averiguar: - la el hilo anterior se divide en espacios, a menos que estén entre comillas dobles. Sin embargo, también se divide en puntuación. Necesito que todo dentro de las comillas dobles permanezca como una sola entidad.
Por ejemplo:
/actualización setting0 value = "valor nuevo"/Guardar debe devolver
/actualización del valor
setting0
=
nuevo valor (no me importa si se recorta el cita fuera o no)
/Guardar
/Importar "C: \ ruta \ file.xml" "C: \ PATH_2 \ file_2.xml"/Salir debe devolver
/Importación
C: \ ruta \ file.xml (no me importa si se recorta las cotizaciones fuera o no)
C: \ PATH_2 \ file_2.xml
/Salir
terminé usando esta expresión de la rosca anterior:
(?<=")\w[\w\s]*(?=")|\w+|"[\w\s]*"
Podría alguien por favor me ayude a modificarlo? ¡Gracias!
Esto funciona perfectamente una vez que reemplacé las comillas simples con dobles en la expresión. ¡Gracias por una solución tan concisa! – Tara
('{1} (\ w | \ s |: | \\ | \.) +' {1} | (/ | \ w)) + esta versión debe devolver \ Importar en lugar de Importar. Acabo de cambiar \ w a (/ | \ w) al final de la expresión regular. –
Sí, sí, acabo de hacer un ajuste a esto que hace lo mismo y lo probé: ... | (/? \ W) + – Tara