PHP: Escapar o Enmascar Caracteres RegEx en una Cadena / String
Pregunta de Compi | 01/04/2021 a las 16:42
Tengo una string / cadena arbitraria que quiero usar dentro de una expresión regular. Al probar algunas cadenas, acabo de explicar que las expresiones solo funcionan correctamente cuando la cadena no contiene ciertos caracteres.
Por ejemplo, no es posible siempre que la cadena contenga un punto o un signo más. Sin embargo, al escribir \. o \+ en lugar del período puro o más, de nuevo funciona. Creo que a esto lo llamas escapar o enmascarar a los caracteres correspondientes.
Pero ¿por qué es esto así? Y después de todo, ¿de qué tipo de caracteres hay que escapar? Cuanto más tiempo trabajo con expresiones regulares, más caracteres encuentro para los que parece ser necesario.
Temas Relacionados
JavaScript: Eliminar el último Carácter de una Cadena/String
Consejo | 0 Comentarios
Reescribir Archivos de Texto con una Longitud de Línea Fija
Tutorial | 0 Comentarios
PHP: Eliminar los últimos X Caracteres del Final de un String
Pregunta | 1 Respuesta
Delphi/Lazarus: Mostrar Fecha y Hora actuales
Consejo | 0 Comentarios
PHP: Contar un Carácter específico en una Cadena/String
Consejo | 0 Comentarios
PHP: Eliminar los Caracteres no válidos de los Nombres de Archivo
Consejo | 0 Comentarios
PHP: Determinar el Número de Semana
Tutorial | 0 Comentarios
Aviso Importante
Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.
Participar
Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.
Algunos caracteres tienen un significado especial dentro de las expresiones regulares. Por ejemplo, el punto representa un carácter arbitrario, el signo más una repetición. Para poder distinguir los caracteres especiales con significado especial de los caracteres que deben ser tratados como tales, debe marcar esos casos. Y esto se puede lograr anteponiendo el carácter \.
Los caracteres con un significado especial dentro de las expresiones regulares son:
Sin embargo, no es necesario que escriba su propia función de búsqueda y reemplazo para cada uno de esos caracteres. En su lugar, también puede usar la función incorporada preg_quote() proporcionada por PHP, que le quita todo el trabajo.
En este ejemplo, los puntos por sí solos no funcionarían como una expresión regular. Debido a esto, estamos usando preg_quote() y obtenemos el resultado deseado.
30/03/2021 a las 22:52