Quiero poder validar la expresión regular ingresada del usuario, para verificar si es válida o no. Lo primero que encontré con PHP es filter_var
con la constante FILTER_VALIDATE_REGEXP
, pero eso no hace lo que quiero, ya que debe pasar una expresión regular a las opciones, pero no estoy regexando contra nada, así que básicamente solo está comprobando la validez de la expresión regular.Cómo validar una expresión regular con PHP
Pero se entiende la idea de cómo validar la expresión regular de un usuario (que no coincide con nada).
Ejemplo de validación, en palabras sencillas:
$user_inputted_regex = $_POST['regex']; // e.g. /([a-z]+)\..*([0-9]{2})/i
if(is_valid_regex($user_inputted_regex))
{
// The regex was valid
}
else
{
// The regex was invalid
}
Ejemplos de validación:
/[[0-9]/i // invalid
//(.*)/ // invalid
/(.*)-(.*)-(.*)/ // valid
/([a-z]+)-([0-9_]+)/i // valid
¿Puede ser más explícito acerca de lo que quiere decir con 'que coincide con nada'? Es una cadena vacía? –
Me refiero a nada como una variable, no estoy aprobando nada para validar contra la expresión regular del usuario. – MacMac
Lamento volver a plantear este problema, pero si "no pasa nada para validar contra la expresión regular del usuario", ¿cómo puede validar la expresión regular? Usted dijo en la pregunta que no desea verificar la validez, así que, ¿qué diablos quiere ver contra la expresión regular? –