En otras palabras, tengo una cadena como:¿Cuál es la expresión regular que coincide con cualquier cosa excepto una comilla doble que no está precedida por una barra inclinada invertida?
"nada, escapó entre comillas dobles: \", sí" nada aquí no para ser igualada
¿Cómo responden a todo dentro de las comillas
.?estoy pensando
^"((?<!\\)[^"]+)"
Pero mi cabeza gira, en caso de que sea positivo o negativo de búsqueda hacia atrás? o ¿funciona en absoluto?
¿Cómo puedo unir cualquier carácter excepto una comilla doble NO precedida de una barra diagonal inversa?
Como se mencionó en el caos, probablemente también desee manejar las barras diagonales inversas dobles por separado (aunque eso no fue especificado por el OP). –
Ja, aquí voy de nuevo, complicando demasiado el problema. No pensé en una solución tan simple en absoluto, ¡gracias! –
Probablemente usaría '\\.' para permitir que la barra invertida escape de cualquier carácter siguiente, lo que evita que la expresión regular se confunda con barra diagonal inversa, barra diagonal inversa, comilla doble (cerrada). Claramente, necesitas una expresión más compleja en lugar del punto si quieres manejar escapes octales o hex, o escapes Unicode, o ... –