Ok, ahora me siento bastante grueso. Básicamente, quiero definir una expresión regular de JavaScript que coincida con cualquier cosa excepto precisamente una cadena en particular. Así que decir que tengo la cadenaDefinir una expresión regular de JavaScript que coincida con cualquier cosa excepto una cadena en particular
"dog"
o
"cat"
quiero una sola expresión regular independiente de tal manera que coincidirá con una cadena
"dogsled"
o la cadena
"cattle"
Simplemente no "perro" o "gato" en él propio. He intentado esto, que básicamente dice, ignorar todo lo que empieza con "gato" o "perro", que no es exactamente lo que necesito ...
var pattern= /^(?!dog|cat).+/
pattern.test("cat") // false, as expected
pattern.test("dog") // false, as expected
pattern.test("bananananana") // true
pattern.test("dogsled") // false, but the regexp I want would return true
Esto tiene que ser simple .... gracias!
Editar Solo para aclarar, yo no quiero hacer ninguna negación de los valores de retorno para obtener el resultado que quiero- la expresión regular debe devolver false para "perro" y cierto para "trineo" o falsa para " gato" y cierto para 'ganado'
+1 por dar realmente la expresión regular. Tantas preguntas [tag: regex] son solo estilo "I can has code". – Matt
¿Por qué no simplemente negar? '! string.match (/^dog | cat $ /)' –
@LinusKleen ja, ja, ja gran nombre de usuario para una pregunta regex :-) – Pointy