¿Cómo se puede hacer coincidir todos los caracteres entre 2 caracteres especificados, dicen " "
-> de sdfsf " 12asdf " sdf
expresiones regulares encontrar caracteres entre ""
quiero conseguir 12asdf
solamente.
¿Cómo se puede hacer coincidir todos los caracteres entre 2 caracteres especificados, dicen " "
-> de sdfsf " 12asdf " sdf
expresiones regulares encontrar caracteres entre ""
quiero conseguir 12asdf
solamente.
Puede utilizar el siguiente patrón de conseguir todo lo que entre " "
, incluyendo el anterior y posterior de los espacios en blanco:
"(.*?)"
o
"([^"]*)"
Si desea capturar todo lo que entre el "" excluyendo los espacios en blanco iniciales y finales que puede hacer:
"\s*(.*?)\s*"
o
"\s*([^"]*)\s*"
De acuerdo. Asegúrese de buscar cualquier cosa que pueda encontrar en expresiones "no codiciosas" (en lugar de "codiciosas"). Debería ser una lectura interesante si aún no lo sabes. Y seguramente hará que su vida con expresiones regulares sea más fácil si conoce la diferencia. – exhuma
Puede usar preg_match(/"([^"]*)"/,$input,$matches);
. $matches[1]
tendrá lo que quieras.
le sugiero que utilice
(?<=")(?:\\.|[^"\\])*(?=")
Esto sólo coincidirá con lo que está entre las comillas (no los propios comillas) y también manejar correctamente comillas escapadas dentro de su cadena.
En "She said, \"Hi!\""
, coincidirá con She said, \"Hi!\"
.
Si está utilizando JavaScript o Ruby (que usted no mencionó) y por lo tanto no se puede utilizar de búsqueda hacia atrás, utilice
"((?:\\.|[^"\\])*)"
y trabajar con el grupo de captura no. 1.
Eso no manejó comillas escapadas para mí o en esta página https://regex101.com/ – Don
@Don: ¿Puede proporcionar el enlace a la expresión regular que no funciona (haga clic en Guardar expresión regular y publicar ese enlace)? –
[^"].*[^"]
Si introduce: "Elie", que dará a Elie (nota: sin comillas)
¿Qué estaba esperando conseguir? ¿No está devolviendo el espacio en blanco líder? Muéstranos la expresión regular que estás utilizando y pon los resultados de tu ejemplo en un bloque de código, por favor. – Robusto