Necesito escribir una expresión regular que coincida con todo en la cadena a menos que tenga una palabra determinada. Tomando esta cadena, por ejemplo:Regex: coincide con toda la cadena a menos que
http://12.34.567.890/sqlbuddy
La expresión que coincide con todo lo que es:
^.*$
... ¿Qué necesita ser modificado para que se no coinciden con la cadena en absoluto si contiene la palabra "sqlbuddy". Pensé que una anticipación negativa lo haría, pero eso no funciona para mí.
Por ejemplo, yo probamos este, que no funciona:
^(?!sqlbuddy).*$
¿Cómo debería modificar esta?
Gracias. Lo estoy usando con mod_rewrite, así que no puedo usar .contains(), pero funciona y también lo hace la otra respuesta a continuación. Sin embargo, por alguna razón no coincide con el uso del probador de expresiones regulares en http://gskinner.com/RegExr/ – Allen
@Allen, revise rubular, es lo que uso para mis pruebas Regex, y realmente me gusta. –
+1 pero menor retoque: no es necesario el '. *' Después de 'sqlbuddy'. Esto es suficiente: '(? M)^(?!. *? Sqlbuddy). * $' O '(? M)^(?!. * Sqlbuddy). * $' Dependiendo de si desea ir flojo o retroceder . – zx81