Estoy tratando de armar una expresión regular para encontrar cuando las palabras específicas no existen en una cadena. Específicamente, quiero saber cuándo no existe "trunk", "tags" o "branches" (esto es para un enlace de precompilación de Subversion). Sobre la base de la respuesta Regular expression to match string not containing a word puedo hacer esto fácilmente para una palabra usando negativos look-rodeos:Regex para cadena que no contiene varias palabras específicas
^((?!trunk).)*$
Es el operador "AND" Estoy luchando con y me parece que no puede conseguir combinaciones que incluyen los otros dos palabras trabajando
Esto está funcionando muy bien en .NET con una sola palabra:
var exp = new Regex(@"^((?!trunk).)*$");
exp.IsMatch("trunk/blah/blah");
Se volverá falsa en su estado actual o verdadero si "tronco" no existe en el camino en la segunda línea.
¿Qué me falta aquí?
Por qué no puedes simplemente hacer una normal de "búsqueda de" expresiones regulares e invertir el resultado en su lugar? –
Estoy limitado por solo poder editar la expresión regular, no la lógica circundante. –