Duplicar posible:
A Regex that will never be matched by anything¿Una simple expresión regular de Perl garantiza que nunca coincidirá con una cadena?
que tiene una secuencia de comandos que toma una expresión regular como un parámetro. Por defecto Quiero configurar la expresión regular a algo que nunca coincidirá con cualquier cadena, por lo que puedo decir simplemente
if ($str =~ $regex)
sin p tener que marcar definido ($ regex) primero.
me ocurrió con
qr/[^\s\S]/
pero no saben si esto va a coincidir con un poco de carácter UTF-8 que no es ni un espacio ni un no-espacio.
solución de MJD es mejor que cualquier otra cosa que se ofrece aquí o en la supuesta pregunta DUP que este merece ser conservado. – tchrist
@tchrist: Desde mi punto de vista, ciertamente estrecho, casi cualquier cosa de MJD es oro puro. El hombre es un alquimista de Perl o algo así. – Hugmeir
Para iluminar: el patrón vacío '//' o '(? :)' no afirma nada y, por lo tanto, siempre coincide. '(?!)' es un lookahead negativo para el patrón vacío (lo que viene entre '!' y the ')' es el cuerpo de la aserción) y, por lo tanto, nunca puede coincidir. – hobbs